Projects
Some things I've built or done.
- date_time_formatterRust Java
A port of the Java time library to Rust. Implements a complete parser and formatter for Java-style datetime pattern strings, handles resolution logic for inferring missing information, and interops with Chrono. Built as an open source library with Palantir.
Rust Java - apollos_gardenGLSL JavaScript
A navigable render of the Apollonian gasket fractal. Uses raymarching and GLSL fragment shading.
GLSL JavaScript - dominion_rustRust
A Rust implementation of one of my favourite card games, Dominion.
Rust - wristRust
A fast, shell-agnostic terminal history application for macOS written in Rust.
Rust - torch_sparse_autoencoderPython
A minimal PyTorch library for handling sparse autoencoders for language/vision models. Designed to work for a wide range of model architectures while still providing a simple API.
Python - advent_of_code_2024OCaml
My complete solutions to the Advent of Code 2024 challenges, written in OCaml.
OCaml - boidsRust
A boid simulation written in Rust with macroquad targeting wasm.
Rust - deto_xTypeScript
A Chrome extension that lets you filter out tweets with a custom prompt and LLMs.
TypeScript - IR_spectra_CNN_classifierPython
Using IR spectra data for organic compounds, we trained a CNN to predict the functional groups present in a molecule. The final model achieved an F1 score better than an average first-year chemistry student at Imperial.
Python - tropical_expressivity_of_neural_networksML interpretability
A paper I worked on exploring how tropical geometry can be used to derive information-theoretic properties of neural networks.
ML interpretability - cellular_sheaf_generatorPython
Often in computational algebraic topology, it's useful to be able to randomly generate simplicial complexes of arbitrary dimension in a usable format for experiments. Working with a researcher at Imperial, I wrote a small library for this purpose, specifically tailored to persistent homology experiments for topological data analysis.
Python - csvtuiRust
A small Rust app that lets you view and edit CSV files from the terminal with vim-like keybindings. I use it as a daily metric tracker.
Rust - WACCScala
A compiler written in Scala with parsley for a variant of the While family of languages.
Scala - pintosC
An x86 operating system written in C with threads and user programs.
C