My Projects
Click on a project to see more about it!
This website
Making my own website - a website actually about me and my projects, rather than a website for a bot or an API - is something I have wanted to do for a very long time, but never got round to doing. Getting a free domain through Github Student Pack finally prompted me to build what you are seeing here.
I decided to make a python repl to ensure I could give the website backend functionality if I wanted. The proof submission on the Illuminati proofs page is a display of the functionality I could not have achieved using just frontend code.
However, a frontend was still required. Coding the frontend for this website has taught me a lot about both HTML and CSS - before, I would never have been able to create expanding boxes like the ones you see here, and definitely not with as little code.
The source code for this website can be found here.
Replcord
Replcord is a Discord bot I wrote for a competition run by Repl.it to create a bot that would give users a role when they connected their Discord and Repl.it accounts, using Discord OAuth2 and the new Repl.it Auth system.
I won the competition, however after a couple of months, jsonstore.io, the database I was using, was shut down. For a while I didn't realise this was the problem, but eventually I fixed Replcord.
Replcord's website, where you can link your accounts, can be found here.
Replcord had plenty of cool features, such as automatically creating detailed user profiles like the one below.
The source code for Replcord can be found here.
Shakespeare
Shakespeare was a Discord bot that I developed for over a year. Its original main feature was randomly generated Shakespearean insults, but it progressed to having a selection of insults from actual Shakespeare plays, and even being able to fetch any of Shakespeare's sonnets any scene from any of his plays.
Shakespeare was taken down in early 2020 due to Discord's bot verification process which I am unable to do. When it went offline for the last time, it was in over 400 servers.
The source code for Shakespeare can be found here.
Circles API
A while ago I started learning image manipulation in python using the PIL module. I attempted to recreate an old Scratch project which generated an image in a particular way using multiple random points with randomly assigned colours, but ended up with something that I thought was much cooler.
My code evolved. First I programmed it to generate the image from a seed, and that seed could be pretty much any string of any length, such that the same seed would always produce an identical image. Next I made the image size variable as well: a seed could be used to generate the same image at any resolution, with larger images taking much longer to generate but still having perfect resolution. Finally I added modifiers, which allowed variation of the colour distribution in two different ways.
Here's one of the best images I produced with that code; you can find an 8K version (that's 8192*8192 pixels) here. It took around 40 minutes to generate.
I posted several of these images on the Repl.it Discord. People liked them a lot; eventually I decided to make an API so they could get their own. However, because this API was slow and quite resource-intensive, I decided to make it heavily ratelimited, and require a token to use.
I have since made a new system for the image generation which I run locally. It uses a python web server for the image processing but the main bulk of the calculation for the colour of each pixel is done by frontend JavaScript, allowing it to be much faster. An image like the one above can be generated with these scripts in only around five minutes.
The API can be found here. Its source code is here, but the function that actually generates the images is hidden.
Hiddentext API
Hiddentext images were another small project I did with image manipulation. The principle is that you post on Discrd an image which appears to have some text on it, but when clicked to display the full image, actually has some extra, hidden text. This is achieved using image transparency next to an image background the same colour as Discord's background colour.
The website for generating these images, as well as an API, can be found here. Its source can be found here.
The image below is placed inside a box with the same background colour as Discord's dark theme. When you hover over the image, the background colour of the box is darkened like when you click to display an image in Discord, displaying the "hidden" text.

Hangman
Hangman was a small project I did as an exercise in frontend Javascript. However, it is not a normal hangman game: rather than you having to guess a word, you think of one yourself and the program tries to guess it. Have a go! It has a dictionary of around 194,000 words, which means it can take a bit of time to load.
15 Game
The 15 game is a classic puzzle where you need to slide 15 numbered tiles into the correct order on a board. When I first started this project, it was supposed to be a program that would attempt to solve the puzzle itself; I eventually gave up on this and instead made a game that a user could play. I don't regret this decision, as I have had a lot more fun playing the game than I would have had watching it play itself.
The website can be found here, and the source here.