I've been learning to code for the past three years, starting at 01Founders, a branch of the 01Edu family of coding bootcamps. I now have three years experience of Go, two and a half of JavaScript, and one of Rust. An asterisk after the title denotes a 01Founders project.
- almondala (2025) An online fractal explorer. (Wasm, TypeScript.)
 - 0-shell* (2025) A simple shell.
 - a-ray-tracer-darkly* (2025) My resonse to the 01Founders challenge called rt.
 - holocron (2024) A program to encrypt and decrypt messages with a hybrid cryptosystem, combining a conventional key-exchange mechanism with one of the proposed post-quantum algorithms.
 - filler* (2025) A bot to compete against other programs at a game called filler. (Docker.)
 - smart-road* (2024) A rudimentary simulation of traffic at an intersection.
 
- thanatarchia (2025) A turn-based, historical strategy game. (TypeScript, React.)
 - river-run (2025) A whimsical frontend portfolio.
 - overreact* (2024) A simple frontend framework with virtual DOM, state management, event delegation, and routing.
 - react-tarot (2024) A carousel of AI-generated tarot cards. (React.)
 - ziggurats (2024) An exercise to help me learn about Canvas animations and MVC architecture, which also turned into an exploration of performance.
 - spotify-scraper (2024) A program to scrape Spotify premium individual plan price data for all countries.
 - the-mad-bombers-tea-party* (2024) Multiplayer browser game based on the '80s classic Bomberman. I adapted a single-player version by fellow students, adding a Node backend; see credits in game and in the README.
 - retro-raiders* (2023) First JavaScript project for 01Founders: a classic arcade game for the browser.
 
- penumbra (2025) A task manager web app, written mostly in Go, using Go's HTML templates, with minimal JavaScript, and the DaisyUI CSS framework for styling.
 - social-network* (2024) Group project to make a Facebook-style social media site using WebSockets, React, and SQLite. I was responsible for the serverside WebSocket code. Looking back on it now, I note that my contribution is naively structured. It also fails to take full advantage of the duplex connection, having only one goroutine (thread) per connection, rather than a goroutine each to handle incoming and outgoing messages.
 - lem-in* (2022) First significant 01Founders project. I enjoyed this one a lot. We had to find an optimal way to send ants through a maze. It taught me some graph traversal algorithms and the concept of maximum flow.
 - push-swap* (2023) My attempt at this challenge to sort a list of numbers using two circular stacks with as few instructions as possible.
 - stock-exchange-sim* (2024) A playfully named 01Founders optional about task scheduling heuristics.
 - brainfuck (2022, revised 2024) An interpreter for the eponymous 'esoteric' programming language.
 
