appendix a · the project index
Things I’ve built
solvers, adaptive systems, hackathon wins and one fluid simulator — with one experiment you can play against. a few are private repos; those carry no source link.
- 01
Calc II Credit Exam Study Site
private repoAn interactive study site for the UPenn MATH 1400 (Calculus II) credit exam, built in JavaScript. It collects practice problems and condensed reference sheets into a browsable front end, and is deployed as a static site on S3 behind CloudFront. Contents cover the topic range of a second-semester single-variable calculus course.
- —Front end written in JavaScript, delivered as a static site
- —Practice problem sets and cheat sheets organized by exam topic
- —Deployment path: S3 origin fronted by CloudFront
javascript · s3 · cloudfront · static-site
A deterministic, allocation-free tick-to-trade engine for NASDAQ TotalView-ITCH 5.0, used as an instrument rather than a product: it compares four order book designs on one full trading day (2019-12-30, 8.25 GB, 268,744,780 messages) and measures how badly the usual backtest fill model overstates passive volume. The headline findings are negative or qualified — the pooled intrusive "textbook HFT" book loses to std::map on 7 of 25 symbols because its sorted level vector shifts hundreds to thousands of elements per event (level churn x depth predicts it at Pearson r = -0.927), and a queue-imbalance signal that forecasts the 1s mid move on all 25 symbols improves markout on only 9 of 25 once acting on it forfeits queue position. The ITCH parser also exists as a byte-serial SystemVerilog implementation co-simulated against the C++ one under Verilator, agreeing on every decoded field over 2,057,603 real messages. Deliberately publishes no tick-to-trade percentiles: the Apple M5 Pro it was built on has a 41.667 ns userspace clock tick, so claims are restricted to exact counts, amortised costs, and design ratios on byte-identical input.
- —Four independent book designs snapshot-compared ten levels deep after every event: 0 divergences over 18,798,869 events across 25 symbols; 0 heap allocations and 0 syscalls in steady state, the latter enforced via dyld __interpose.
- —FIFO queue-position fill model advances the queue on cancels ahead as well as executions; against a fill-whenever-price-trades model it books 549K shares on AAPL versus 3.5M, a 3.4x-15.6x overstatement across symbols (median 5.7x).
- —Threaded pipeline across lock-free SPSC rings is slower than single-threaded by a near-constant +13 to +18 ns/event; ring occupancy shows the first ring >=75% full 99.2% of the time and the second empty 95.3%, and fill digests hash identically to the single-threaded path.
- —memory_order_relaxed in the SPSC ring reproducibly fails on arm64 (1,463 premature and 544 torn reads per 10.5M messages) while passing on x86 under TSO; markouts are share-weighted with 95% block-bootstrap intervals, which retracted an earlier queue-depth claim from the same repo.
c++ · systemverilog · verilator · market-microstructure · lock-free · catch2
- 03
Canvas Assistant
in progressprivate repoA private Python project whose name points at tooling around the Canvas learning-management system. The repository carries no README or documentation, so the scope, entry points, and current state of the code are undocumented here. Listed for completeness rather than described in detail; the specifics need to be filled in from the source before this entry says anything more.
- —Primary language: Python.
- —Private repository, no public source link.
- —No README, description, or topics in the repository metadata.
- —Most recent push: August 2026.
python
- 04
Low-Level Systems Guide
private repoAn interactive single-page webapp presenting computer-systems fundamentals — the material worth knowing before picking up C++. Built as static HTML with in-browser interactivity rather than a generated site or slide deck. Content coverage and depth are not documented in the repository.
- —Static, self-contained webapp; HTML is the primary language in the repository
- —Framed as a prerequisite tour of systems concepts leading into C++
- —Private repository, so no public source link is shown
html · javascript · css · teaching
- 05
IMAX Showtime Finder
private repoA TypeScript tool for locating IMAX and other premium-format screenings near a given location. It queries theater-chain showtime APIs and normalizes their differing responses into a single format schema, so that a 70mm IMAX print and a Dolby Cinema screening can be compared side by side. Contents beyond this are undocumented — the repository has no README.
- —Aggregates showtime data across multiple theater-chain APIs rather than a single provider
- —Normalizes chain-specific format labels (IMAX, premium large format) into a common schema
- —Written in TypeScript; repository is private, so no source link is shown
typescript · api-integration · data-normalization
- 06
Senior AI Engineer Field Manual
in progressprivate repoA private, build-first curriculum on AI engineering, written as an interactive HTML document rather than a static reading list. The repository is primarily HTML, so the material is delivered as self-contained pages meant to be read and worked through in the browser. Contents and scope are not documented in the repository itself.
- —Delivered as interactive HTML rather than prose notes or slides
- —Framed as a build-first curriculum: exercises and projects over passive reading
- —Private repository; last updated 2026
html · curriculum · ai-engineering · documentation
- 07
Incident Assistant
in progressprivate repoA frontend prototype for an incident-management dashboard, built with Vite, React, and Tailwind. The UI runs entirely on mock data — there is no backend, alert ingestion, or live incident feed behind it. Written in TypeScript.
- —Vite/React/Tailwind single-page frontend, TypeScript throughout
- —Renders incident-management views from mock data rather than a live API
- —Prototype scope: no backend or alerting integration in the repository
typescript · react · vite · tailwind
- 08
Study Podcast
private repoA Next.js web app that converts study PDFs into a two-voice audio podcast: Claude drafts a dialogue script from the extracted document text, and ElevenLabs synthesises the two speakers. Written in TypeScript. The repository is private, so no source link is shown.
- —Pipeline: PDF text extraction → LLM-generated two-speaker script → text-to-speech synthesis.
- —Script generation uses the Claude API; voicing uses ElevenLabs.
- —Built as a Next.js application, TypeScript throughout.
typescript · next.js · claude api · elevenlabs · pdf
An adaptive mock-interview trainer for SWE and quant-trading loops — coding, quant math, system design, behavioral. Every graded answer writes an immutable per-concept evidence row, and mastery is derived from that evidence rather than written directly, so the whole picture can be rebuilt from scratch at any time.
- —Question corpus is a build-time artifact — versioned JSON, not runtime generation, so sessions reproduce
- —Mastery derived from immutable evidence, never hand-written
- —Picks the item whose expected score lands where an outcome actually teaches something
- —Sandboxed Python 3.12 / C++20 executor with no network; deploys to ECS Fargate
fastapi · postgres · pgvector · bedrock · next.js · aws
Emails me project ideas grounded in real complaints harvested off the internet, plus interview prep scheduled by FSRS. Built around a finding that retrieval-grounded ideas score 2.5× higher than prompted ones — and that model-judged novelty is negatively correlated with real impact, so ranking keys off evidence density instead.
- —Ranks by how many independent recent complaints corroborate a pain point
- —Novelty demoted to a dedup filter — the model never judges it
- —Corpus partitioned; the generator walks a deterministic domain rotation
- —Feasibility gate forces a milestone breakdown and a first-weekend deliverable
python · retrieval · embeddings · fsrs · cron
- 11
Backtest Lab
in progressprivate repoA single-strategy equity backtesting workbench: configure a ticker, date range and strategy, then run a lookahead-safe daily-bar simulation against a buy-and-hold benchmark. The dashboard is built — config form, equity-vs-benchmark chart, metrics panel, saved-run history. The simulation engine behind it is still to be written.
- —Next.js 15 / React 19 dashboard with lightweight-charts equity curves
- —CAGR · Sharpe · Sortino · max drawdown · win rate
- —Long-or-flat only — no shorting, leverage or intraday data by design
- —Backend engine not yet implemented
next.js · fastapi · pandas · postgres
- 12
Curriculum Engine
private repoAn offline curriculum system, and the content that runs on it: 327 modules across 15 tracks, from programming fundamentals through low-level systems, databases, infrastructure, ML and AI engineering. Ordered as a prerequisite DAG, so no module ever arrives before the thing it depends on.
- —A stdlib-only CLI scaffolds exercises, grades them, and schedules review
- —Core spine plus electives — four role paths pick up different depth
- —Graders written against measured machine behaviour, not assumed behaviour
- —Zero-dependency static reader — no server, no network, anywhere
python · c++ · sqlite · spaced repetition
- 13
Eddy
private repoA real-time GPU fluid simulator: incompressible Navier–Stokes solved entirely in WebGL2 fragment shaders, dressed as a 1970s lab instrument console. No frameworks, no dependencies, no build step — you open the file.
- —Stam stable-fluids scheme over ping-ponged half-float framebuffers
- —Vorticity confinement restores the small-scale swirls advection smears away
- —Pressure Poisson solve, 8–64 Jacobi iterations, warm-started from last frame
- —Helmholtz–Hodge projection to keep the field divergence-free
webgl2 · glsl · fluid dynamics · no build step
Real-time patient vitals monitoring with ESP32 sensors (heart rate, SpO2, temperature) streaming to a live React dashboard via Node.js/Express. Full hardware-to-UI pipeline built in 24 hours.
- —ESP32 sensor array (MAX30102 + DS18B20)
- —WebSocket live feed — sub-200ms latency
- —React dashboard with real-time chart updates
- —Full hardware-to-UI pipeline in 24h
esp32 · react · node.js · websockets
Chrome extension + hosted site that reads emotional state (focused, tired, stressed) from the webcam with face-api.js, then delivers Gemini-powered productivity suggestions and an analytics dashboard. Auth0 auth, MongoDB persistence, Manifest v3 service worker.
- —face-api.js emotion recognition in-browser — no server round-trip
- —Gemini API for real-time personalized suggestions
- —Recharts analytics — stacked-bar emotion history
- —Manifest v3 extension with service worker + content scripts
next.js · react · gemini · computer vision · chrome extension · mongodb
AI shopping assistant using computer vision + Gemini 2.0 Flash to identify groceries in real time, score sustainability, and deliver voice feedback via ElevenLabs. Fully hands-free.
- —Gemini 2.0 Flash for real-time item recognition
- —ElevenLabs TTS for natural voice feedback
- —Sustainability scoring on every scanned item
- —Flask backend + React frontend
gemini · flask · computer vision · elevenlabs
A counterfactual-regret-minimization engine written from scratch for imperfect-information games, validated on Kuhn and Leduc poker and then pointed at market microstructure. On Glosten–Milgrom it recovers the profit-maximizing quote exactly — matching an independent brute-force search at every informed-trader share, with the spread widening as informed flow rises. Adverse selection recovered from self-play rather than assumed.
- —Four CFR variants — vanilla, CFR+, DCFR, Linear — benchmarked against each other
- —Glosten–Milgrom quotes match brute force at every μ, exploitability ≈ 0.002
- —Kyle (1985) deliberately solved by fixed point instead — it isn't zero-sum
- —Correctness measured by exploitability, not by matching the published −1/18
game theory · python · cfr · market microstructure
more in progress —
github ↗