Work · 18 projects
Everything I've built.
Systems, tools, games and a thesis, almost all from scratch. 17,606 lines of code across my repos, and every project has its own page.
-
01
Command-line spreadsheetFeatured
A spreadsheet engine in C with formulas, ranges and a dependency graph, built from scratch.
C
Jan – Mar 2025
3,364 lines
-
02
Sparse spreadsheet in RustFeatured
The spreadsheet rebuilt in Rust with sparse storage. Recalculation went from minutes to seconds, and it runs in your browser.
Rust
Mar – May 2025
1,963 lines
-
03
Taylor-Line microswimmersFeatured
A molecular-dynamics simulator for microswimmers in a shrinking space, about 61× faster with spatial hashing.
C++
Jan – May 2026
2,195 lines
-
04
SimpleRISC interpreterFeatured
Reads and runs SimpleRISC assembly. One C file, with an HTTP API on AWS. Run real programs below.
C
Jul – Aug 2024
2,721 lines
-
05
CodeBreakerFeatured
A native iPhone Mastermind game in SwiftUI with 20+ themes and no dependencies.
Swift
2026
704 lines
-
06
CodeWordBreaker
CodeBreaker with real English words: guesses are checked against a word list.
Swift
2026
497 lines
-
07
QELM logic minimizer
Boolean function minimizer: exact Quine-McCluskey plus a multi-pass Espresso heuristic, reading PLA files.
C++
2025
785 lines
-
08
KMP visualiser
Step through the Knuth-Morris-Pratt algorithm. The engine is C++ compiled to WebAssembly.
C++ → WASM
2026
280 lines
-
09
E++ expression evaluator
Arbitrary-precision arithmetic on huge integers and rationals, with a parse tree and a BST symbol table.
C++
Oct – Dec 2023
1,176 lines
-
10
E++ compiler
Compiles E++ statements into stack-machine commands, managing variable memory with a min-heap.
C++
2023
692 lines
-
11
Corpus Q&A tool
Ranks paragraphs with TF-IDF, matches patterns with KMP and tries, then feeds the best context to an LLM.
C++
Jan – Feb 2024
630 lines
-
12
Rollerball AI bot
Minimax with alpha-beta pruning, tuned to move in 1–2 seconds in a timed tournament.
C++
Mar – Apr 2024
offline
-
13
Document processing tool
Trie-based word counts and Z-algorithm substring search over an indexed corpus.
C++
2024
396 lines
-
14
Banking framework
One banking database, five hash-table strategies: chaining plus linear, quadratic and cubic probing.
C++
2024
1,236 lines
-
15
Image processing library
CNN building blocks from scratch: FFT-based 2D convolution, pooling and activations.
C++
2024
516 lines
-
16
Library lending system
Borrow and return simulation with a hand-written linked-list queue and pending list.
Java
2024
333 lines
-
17
Simple Twitter
A tiny Twitter in C++: post, follow, unfollow and a top-10 news feed from a heap.
C++
2025
75 lines
-
18
Guessing game in Rust
My first Rust program: input handling, random numbers and control flow.
Rust
2025
43 lines
Nothing here yet. Try another filter.

