About me

I am a developer and I enjoy making random projects and tools, some of which you can find listed below. The languages I am most familiar with are C, C#, Java, Javascript, Python, and Ruby.
Other than programming my hobbies include: reading, chess, and archery.


Website
I made this website in order to further familiarize myself with HTML and CSS. It has a fully responsive design, and works well with mobile.
Runs using Node, React.js and Next.js and has an API to fetch the project-list.
Try it below! (opens in new tab)
GET /api/projects
GET /api/projects/[id]
Duckbot
This is a discord bot I built for personal usage, it has grown since and is used in thousands of servers now.
The bot assists in moderation duties, and making signups for events, it also has some games. It is written in Python and uses the discord.py library.
Chess server & client
Simple chess client that connects to a server, the server then matches up connecting clients (can have multiple pairs & waiting connections) and starts a game of chess.
The server and client are both written in C#.
Chat
A simple chat client & server, all clients connected to the server are placed in the same chat room.
This was my first introduction to C# and client / server logic.
Chess coordinate trainer
I wanted to get faster at reading chess notation, so I made this 'game' to train myself.
You get presented with a random coordinate (e.g. e4) then you click the correct square on the board before being told another coordinate.
This works well to learn to instantly spot coordinates thanks to repetition.
Reversi
A game of Othelo Reversi done using pygame in Python. After the mess of my first ever programming project, I felt the need to re-make it, but improving on logic and (for the first time) using a ui.
Hangman
When I was new to Python I was also new to anything UI related, so naturally I jumped straight into learning how to use Tkinter, this is the result.
BDO-Recipe Helper
A tool to help in the mmorpg Black Desert Online. One of my first Python projects, where I was learning to use the Tkinter library.
A-Star visualiser
A maze builder/solver to visualize the A-Star algorithm. Quick project in order to refresh my memory on C# and WPF.
Neural Network Library
Wanted to learn how neural networks work so I made this small library. It only supports dense layer networks, but you can pick and choose the loss/accuracy functions, activation function, and the optimizer.
So far I have only used it on a few mnist-like datasets but I have plans to use it in more involved ways and possibly expand on it to include other types of networks.
Genetic Algorithm 2
My second go at making a genetic algorithm. The "Smart Rockets" will learn how to navigate to a selected point on the screen.
Autoit text replacer
Written using AutoIt this program replaces key-words with a predetermined word or phrase set up in the config file; e.g. you can set it so whenever you type "theta" it will get replaced by the symbol "Θ".
Niche use cases, but it can be very handy if you find yourself in a situation where you constantly need to write the same long phrase or hard-to-type symbol.
This only runs on Windows and won't work on Linux due to it being written in AutoIt.
Timebrations (Android App)
Triggered by pressing the power button 3 times in short succession, this will let you know the time without having to look at your phone or watch.
This is not on the playstore yet due to some compatability issues with newer Android versions.
Examples:
4:12 (am | pm): VIBRATE x4long-pauseVIBRATE x1pauseVIBRATE x2
12:00 (am | pm): LONG-VIBRATE x1
Vibration and pause lengths under different conditions are easily configurable.
Spring website (CS year 3 project)
This group project is a java webapp using thymeleaf & spring for an imaginary library. It allows librarians to add books to the database, extend loans, and modify users, it allows the users to create loans, and reservations.
Backgammon (CS year 2 project)
This group project is a two player local backgammon game written in java, it has a very basic player AI that was used to compete with the other groups in the class.
Reversi (CS year 1 project)
My first programming project, introducing me to the agile software development methodology. It is a command line two player Reversi game written in C.