things i made
Here is a list of some of my personal projects. Most of these are works-in-progress and more “serious,” but ther’s also some small, weekend-type projects that I call sketches.
projects
-
Rosa
(Rust)
A fuzzing-based backdoor detection toolchain.
Rosa is a backdoor detection toolchain that I developed during my PhD thesis. It was originally developed during 2024–2025 for the associated ICSE’25 paper, and then extended during 2025–2026 for an ASE’26 paper. I try to keep working on it so that it may be used by other people.
-
libuimg
(C)
A small, fast, and portable image manipulation library for embedded applications.
I started working on this image manipulation library in 2019, during the final year of my Master’s degree, 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.
-
mrbones
(Bash)
A bare-bones static site generator.
After growing tired of Python’s package management shenanigans, and of unnecessarily powerful templating engines for simple static sites, I decided I would write yet another static site generator, except this time it would truly be simple: a single Bash script! It used to power this site for some time, before being replaced by Typst.
-
flores
(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. No plugins or extensions needed. At some point, it was used to power this site.
-
Hamming codec IP
(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.
sketches
-
paper title generator
(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.
-
potato rpg
(JavaScript, HTML, CSS)
An RPG about potatoes.
A one-night project I inevitably made after coming across this tweet.
-
kojima name generator
(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—here are mine!
-
nablaman prompt theme for zsh
(zsh, oh-my-zsh)
A custom prompt theme.
A little prompt theme I made to use alongside Oh My Zsh.
crosswords
Occasionally, I make simple crossword puzzles: