Here's a list of some of my personal projects. Most of these are works-in-progress and more "serious", but there's also some small, weekend-type projects that I call sketches.
— C
A small, fast and portable image manipulation library for embedded applications.
I started working on this image manipulation library in 2019, during my final year of university, while working as an intern at STMicroelectronics; basically, there wasn't really a common library people would use for this (so everybody naturally rolled their own), and I thought it would be a cool project given the constraints (fast, lightweight, multi-platform). I'm still hacking on it from time to time, and it's been a great platform for me to experiment on testing/benchmarking methods for embedded C code.
— Python
Yet another static site generator.
Another rendition of I can do it better, flores is a static site generator that aims to be simple and to-the-point while providing the basic capabilities most static sites need, without the need for any extra plugins, extensions etc. It powers this very site!
— VHDL
A simple, generic hardware message encoder/decoder using Hamming codes.
After finding out about Hamming codes thanks to 3b1b's excellent video, I had to dust off my VHDL skills and give it a go myself. I think the most interesting part of this project was making the codec generic, meaning that it accepts a multitude of block sizes to encode/decode.
— Python
A Python tool that provides stats on the LOC (Lines Of Code) per language that you have written.
This fun little project may seem trivial, but it has also made the eternal interview question "how many LOCs have you written in <language>?" trivial to answer. It taught me a lot of things about packaging a Python project, QA and managing a real open source project, and it's fun to return to and hack on from time to time.
— Python, JavaScript, HTML, CSS
A Python-generated, JavaScript-powered game engine for text adventure games.
This is a classic way-too-ambitious-weekend-project that I started during the 2020-2021 winter break. Originally, it was supposed to be a very simple text adventure game engine, but it quickly turned into something more evolved, even having its own sort-of microlanguage (plus JavaScript transpiler, of course!) to allow game developers to write more interactive games without too much programming. It's kind of messy but that's also the appeal of it!
— Python
Extendable license generator, written in Python.
A small CLI tool written to automate the generation of license files, specifically when it comes to entering information like copyright dates, author names etc. It's a fun base to hack on and extend to automate the license generation procedure as much as possible, ideally without relying on locally-stored license templates.
— JavaScript, HTML, CSS
A (mostly) plausible-sounding paper title generator.
A simple weekend project that allows you to generate (and cite!) paper titles. While not LLM-powered, it can and will hallucinate.
— JavaScript, HTML, CSS
An RPG about potatoes.
A one-night project I inevitably made after coming across this tweet.
— JavaScript, HTML, CSS
An interactive version of BDG's name generator PDF.
As a big fan of BDG, I had to implement this. It also makes it possible to share the generated names with friends, which is arguably the best part of this generator — here are mine!
— zsh, oh-my-zsh
A custom prompt theme.
A little prompt theme I made to use alongside Oh My Zsh.
Occasionally, I make simple crossword puzzles.