Skills

A list of technologies and skills I have developed over the decade that I've been interested in computers. I have a passion to learn more technologies and expand my knowledge in many different areas of ICT.



  • JavaScript

    Javascript is my favourite language to use and develop software in. I have used it for many different projects such as Websites, scripts, Discord bots, Telegram bots, and desktop applications. I would love to use JavaScript to create new and innovative software.

    • ES6+
    • Three.js
    • Chart.js
    • jQuery
  • Node.js
    • Express
      • Experience building fast and secure sites with express
        • Passport authentication
        • REST API
        • Sessions and cookies
    • CLI scripts
      • Experience building CLI scripts with NodeJS and NPM
      • Experienced with ECMAScript6+
    • Clustering
    • PM2 / Nodemon
  • MongoDB

    My usual go-to database that I use in my projects. I'm a big fan of the JSON like documents as it's familiar to me because of JavaScript. I'm very well versed in MongoDB and know how to manage large amounts of data.

    • Schema design
    • Managing large collections
  • Electron

    I was always interested in creating Desktop apps for Windows and Linux. I originally started making apps with .NET WPF, but after I while I started migrating to Electron. I chose it over WPF because of the familiarity, Electron uses HTML, CSS and JavaScript since it's built on the Chrome engine. I can be just as powerful as .NET because you can use C++ modules in NodeJS.

    • Cross platform desktop applications
  • React

    When I started learning React, I was surprised at how easy it was to pick up. I like the template designing aspect of it as it reminds me of using Pug alongside Express. React has made making web applications a lot easier. This website was built with React using NextJS.

    • NextJS
    • Template designing
  • Visual Studio Code

    I've been through a lot of different IDEs (Atom, Sublime Text, Netbeans) and Visual Studio Code is the one that stuck with me. It has everything I need in an IDE, such as: Intelli-sense, multi-language support, git support, debugging

  • PHP

    PHP was one of the first serverside programming languages I ended up learning. I found it when I was 13 years old and I was interested in making websites from that point forward. Eventually, as time went on I found the language "Hack" which is a dialect of PHP. I still try to incorporate this language into my projects but I found making websites with NodeJS to be much more appealing to me. When I was 15 I attempted to make my own website for a community I was running. This community was focussed on "trading" in a video game called Team Fortress 2 where I would create my own bots for Steam to automatically trade and help users.

  • Lua

    Lua was the first programming langauge that I learnt. I got into this language because I played a video game called Garry's Mod a lot and it was focussed on the community making "Mods" for the game which were simply just content addons to the game. These addons would be things such as custom maps for the game, custom gamemodes, items, etc.

    Lua was the first programming language that I learnt. I got into this language because I played a video game called Garry's Mod a lot and it was focused on the community making "Mods" for the game which was simply just content add-ons to the game. These addons would be things such as custom maps for the game, custom game modes, items, etc. I started by creating simple mods in Lua, these were just scripts that allowed me to teleport people, give people infinite health and utilities for changing maps.

    The first-ever proper mod I made was called the "Portal gun mod". I worked hard to create a recreation of the same Portal gun from the game called Portal. This was a challenging process but I learnt a lot of skills from this experience. It helped me understand the basics of programming languages and helped me with being better at Maths.
    I also made a mod called "Let it rain" which simply just made it rain items from the sky. This was the first mod I published, but a very simple one.

  • C#

    I was introduced to C# originally when I wanted to make a "trading" bot for the video game "Team Fortress 2". It was also my first time being introduced to GitHub and open source projects since I used the library "SteamBot" made by Jessecar96. These bots would simply just accept trade requests automatically and handle the prices all internally. This was my first time interacting with a REST API within a scripting language. I used an API from a website called "Backpack.tf" to fetch the prices of each item that the user was offering and then buy that item off of the user with in-game items.

    I also used C# to make desktop applications, originally I made a Desktop application in WPF to simply just change the Desktop background of my school computer since there was no option to do so on the system. I never made anything that was published to the web since all the programs I made were mostly utility that would add shortcuts to commonly used functions on the PC (Changing settings, opening programs with launch options, etc)

  • HTML5

    Before I used any scripting languages such as JavaScript and PHP, I made websites in plain HTML and CSS. Albeit my first websites were very barebones and basic, all the sites I made were just there to learn. HTML started my path to start learning other technologies within web development.

  • CSS3

    I started learning CSS3 when I made my first website. When I was at school we originally used a program called DreamWeaver to edit our websites, and I found that it could be restricting to fiddle with small settings. Eventually I decided to look into CSS and how I could easily integrate that into my future websites. I spent a long time learning all the different properties and methods of CSS3. I'd say I'm really confident in my knowledge of CSS3.

  • Sass

    When using a HTML5 templating engine called Pug, I also came across a preprocessor langauge that I hadn't used before called Sass. I used Sass to make my website look more modern and clean. I really liked how I could use different files and combine them all into one CSS file for the renderer. I also found it neat how you can use variables to make your code more dynamic. One of my favourite features I learnt about was the color functions such as "darken" and "lighten" since I could dynamically create colors for different themes; for example using darken to change the background color when you hover over a button.

  • Python

    Python was one of the easier languages to learn. I mostly only use Python for machine learning and data science, using PyTorch and TensorFlow. I've had a keen interest in machine learning and I still wish to expand my knowledge of it.

  • Linux

    I started learning Linux when I decided to Duel boot it with Windows 7. The distro I chose was Ubuntu and I ended up using it a lot more than Windows. I found it to be a lot more customizable and I ended up using it for a lot of things. I spent time to learn how to use the command line for Linux and ended up making my own CLI scripts to easily manage settings. I had an issue with the computer where it would select the wrong Nvidia drivers, so I made my own script to run at startup and fix the issue.

  • Git

    I have used Git for a long time, at first I found version control to be a bit confusing and I was not sure how to use it. But after a while of learning I realized how powerful version control with Git was, and how easy it was to collaborate with others.

  • Cloud computing

    I have been using cloud computing for a large amount of time. I have used AWS, Google Cloud, Linode, and Digital Ocean. I have also used the cloud computing services to host my websites and other projects. Originally I started using Linode to host my Discord bots, but I have since moved to DigitalOcean due to the cost of hosting and the security of the services. I found it very easy to deploy my websites to DigitalOcean and have become well versed in using SSH to interact with the servers.

    When hosting websites with Node.js, I use it alongside nginx to proxy the node server to specific ports so I can easily set it up with Cloudflare.