Yahtzee Scorecard

Yahtzee Scorecard

Tools Used

React, Signals, JavaScript, Vercel, CSS

Description

This project was created as I wanted a simple Yahtzee scorecard that I could use on my phone. I used React as the framework for the web app, and experimented with Signals as my state management. This allows the app to have very performant DOM manipulation compared to other state management tools such as React's useState. Although it's probably not necessary for an app like this, I enjoyed the learning process and the final product is something that I used almost every day with my flatmates.

Pomodoro Timer

Pomodoro Timer

Tools Used

React, Vite, TypeScript, Vercel, CSS

Description

I built this project as a way to help me and my fellow university students keep on track when studying, as I often found myself or others having really long breaks, and doing minimal study. When I learned about the Pomodoro technique, I decided it would be good to make a timer which helps when using this technique, and I thought it would be a fun challenge. Some notable features about this version are that it has a very simple and minimal UI, designed to stay out of the way while focusing, along with its colour customization, which allows you to match the timer to your workspace.

Rubik's Cube timer

Rubik's Cube timer

Tools Used

p5js, JavaScript, CSS, HTML, Canvas, Bootstrap

Description

This was one of my earliest projects, which helped me learn JavaScript. The code is messy, since it was the first time I had ever written JavaScript, but it all works as expected in the end. This was originally a p5js app that used Canvas to draw everything. I then switched to using HTML and DOM manipulation, as that was what I wanted to learn next. I experimented with getting this working with Stackmat timers (if you are into cubing you will know about this), but in the end I couldn't wrap my head around it, and only got it to work periodically.

Tools Used

Unity, C#, Git

Description

This was a project that I created with 2 of my friends for the 2021 Secondary Schools game jam. It is a buggy mess, with horrific code, but it's what you'd expect from 3 high schoolers in 48 hours, especially with my minimal experience in C#. Despite this, it garnered a small speedrunning community within my school for a few weeks, and it even made the ODT!

Pathfinding Visualizer

Pathfinding Visualizer

Tools Used

JavaScript, Dijkstras, AStar, HTML, CSS

Description

This was a project I created a while back with inspiration from Clément Mihailescu and his version of this. The code is a bit of a mess for this one too, as I didn't create a good project structure before starting, so when it came time for me to expand it with more algorithms, it was a struggle. That's why it only supports Dijkstras and A*. In the end though the final product works pretty well, and gives a good visualization of the difference between a non-heuristic search algorithm (dijkstras) and a heuristic search algorithm (a*).

Jacks (Card game)

Jacks (Card game)

Tools Used

HTML, CSS, JS, Monte-Carlo simulation

Description

This project was created because of a solitare card game I played as a child, called Jacks. The outcome of the game is completely deterministic, meaning that the outcome of the game is entirely decided by the shuffle of the cards. I always wanted to know what the odds were for winning this game, so I made a version that you can play using HTML, CSS and JS. Then I made a bot in JS that can play the game hundreds of a times a minute, which allowed me to perform a Monte-Carlo simulation and determine the odds of winning a game. I was able to determine that it's around a 14% chance of winning each time you play.

Conway's Game of Life

Conway's Game of Life

Tools Used

HTML, CSS, JS

Description

I created this because I thought it would be a fun challenge, and not too hard. I didn't overcomplicate things by using any frameworks, since I was still getting to know HTML at the time and had barely touched React.