# Projects
Things I've built. Mostly rewriting existing software from scratch to understand how it actually works.
Systems Programming
A from-scratch SQLite parser and query engine. Reads raw .db files byte-by-byte,
manually parses B-trees, and extracts rows. Supports SELECT, WHERE,
COUNT(*), and index optimization with B-tree traversal. Part of the "rewrite everything in Rust" movement -
real devs read hex dumps and parse varints manually.
A lightweight Redis server implementation compatible with standard Redis clients. Full RESP protocol support, key-value ops with expiry, transactions (MULTI/EXEC), master-slave replication, RDB file parsing and persistence, and Redis Streams (XADD, XRANGE, XREAD). Basically Redis but I wrote it.
Simple HTTP/1.1 server with GET/POST handling, file upload/download, User-Agent echo, gzip compression support, and multithreaded request handling. Nothing fancy, just works.
Languages & Low-Level
Rust implementation of the Monkey programming language interpreter, based on "Writing An Interpreter In Go" by Thorsten Ball. Full lexer and parser done, working on the evaluator. C-like syntax, first-class functions, closures, a simple object system. Learning interpreters the hard way.
Graphics
Path tracer with both CPU and GPU acceleration. Monte Carlo sampling, materials (Lambertian diffuse, metal, dielectric glass), camera with depth of field and adjustable FOV, cross-platform GPU via wgpu. Works on your shitty laptop if it has Vulkan/Metal/DX12 - otherwise use your poor CPU.