Selected Projects

2026

Diagrammr

Visualizes how a codebase's architecture evolves across git history, rendering the commit DAG as an interactive canvas and generating an LLM-powered architecture diagram for any commit. An incremental caching pipeline sends only the git diff to the model when a cached ancestor exists, cutting token cost and latency.

ReactNode.jsReact FlowJointJSGPT-4oDocker

2026

JimmySimulation

A prototype testing whether many small, fast LLM-driven agent decisions can produce more realistic evacuation behavior than a purely formulaic simulator. A deterministic engine owns all physics and timing; agents only make constrained, schema-validated routing decisions with deterministic fallbacks.

PythonFastAPIReactReact FlowLLM Agents

2025

Canopus

Turns a natural-language math prompt into a narrated, 3Blue1Brown-style animation: one thread generates ElevenLabs audio while another generates Manim animation code, then FFmpeg merges them. Multithreading cut generation time 40-50%.

FlaskGeminiManimElevenLabsFFmpeg

2025

NoTeX

Full-stack, no-code builder for professional LaTeX resumes with live preview and PDF export via PyLaTeX/Tectonic. Supabase Auth and Postgres row-level security keep each user's resume data isolated, with JSONB versioning for edits.

ReactTailwind CSSFastAPISupabasePostgreSQL

2025

Embedded Space Invaders

Bare-metal game engine built from scratch on a TI MSPM0G3507: custom PCB, SPI LCD graphics, 12-bit DAC audio, and a timer-driven ISR game loop. Fixed sprite-trail artifacts by scaling the erase buffer proportionally to game speed instead of using a fixed buffer.

C/C++Embedded SystemsSPIPCB Design

2025

FileFlow

24-hour hackathon app that manages Google Drive via natural language, with a LLaMA-3 agent running a think-tool-observe loop to plan and execute multi-step file operations. Each Drive action is a modular LangChain tool, so adding Dropbox/OneDrive support is just a new tool function.

PythonStreamlitLangChainLLaMA 3OAuth

2025

Jamboree

MERN app for synced group music listening. Users join genre-based 'bubbles' via the Spotify Web API, with the server as the single source of truth for playback timing so late joiners calculate elapsed offset locally instead of polling continuously.

ReactNode.jsMongoDBSpotify APIOAuth

2024

Google Maps Lead Scraper

Freelance automation tool for a small-business consulting client: a Node.js/Playwright script that scrapes Google Maps listings and flags restaurants without websites, tripling the team's lead-generation productivity.

Node.jsPlaywrightWeb Scraping