Projects

Everything I've built

Live products and published tools up top, then the prototypes and experiments where I push new stacks, AI patterns, and agentic tooling.

Live & published

Storm Replay — Moore, Oklahoma radar velocity with the auto-detected rotation riding the damage pathLive

Storm Replay

Finds the Moore EF5 within 2 km of its surveyed touchdown

Replays real NEXRAD Doppler radar of five famous tornadoes in the browser, with no backend. My own Archive II and bzip2 decoder runs in Web Workers, WebGL draws the radar, and an in-browser detector marks rotation over NWS warnings and damage paths.

TypeScriptWebGLWeb WorkersMapLibre GLBinary format decodingGitHub Pages
US Election Tracker — 2024 electoral map with the 270-to-win bar and state-by-state resultsLive

US Election Tracker

5,000+ users this year

Live election-night results with a poll-closing schedule, prediction-market odds for every major race, and House and Senate control odds. Plus state-by-state electoral maps for all 25 presidential elections since 1928, an 11-layer demographics map, 51 state hubs, and two quizzes.

Next.jsTypeScriptInteractive SVG mapsPrediction-market oddsCensus & BLS dataNetlify
Fabric · Modrinth
Minecraft Fabric Mods
Live

Minecraft Fabric Mods

7,500+ downloads

Quality-of-life Fabric mods, kept current with each Minecraft release through a Claude Code pipeline I built: a custom skill, an MCP decompiler to diff versions, and my own publishing MCP server.

JavaFabricMixinsGradleClaude CodeMCP
Model Context Protocol
Modrinth MCP Server
Live

Modrinth MCP Server

Open source · npm + MCP Registry

MCP server that lets Claude and other AI assistants search Modrinth and publish mod releases. Listed in the official MCP Registry and installable as a Claude Code plugin — I ship my own mod updates with it.

MCPTypeScriptNode.jsClaude Code pluginnpm
Avery Light FX — Halloween light show site with show hours and the FM station for musicLive

Avery Light FX

Visitor info site for a holiday light show

Info site for a drive-up Halloween and Christmas light show: hours, show status, directions, and Venmo donations for charity. Includes a secured admin panel wired to the show’s xSchedule API.

Next.jsTypeScriptNextAuth.jsxSchedule APITailwind CSSNetlify
RAG assistant
DungeonHelper

DungeonHelper

RAG assistant for Destiny 2 dungeon mechanics — OpenAI embeddings + Pinecone retrieval with streaming Claude answers, plus Zod validation, rate limiting, and response caching.

RAGOpenAIPineconeClaudeNext.jsTypeScript

Prototypes & experiments

World Wide Canvas

Prototype

Shared, anonymous real-time pixel canvas with a 262,144² cell world. Streams 256×256 chunks like map tiles, bounds memory with LRU eviction that never drops in-flight paints, and rate-limits each visitor by IP with token buckets.

TypeScriptNode.jsWebSocketsSQLiteCanvas 2DVite

Otto — Vehicle Maintenance

Prototype

B2C mobile-first app (Expo) + Fastify API for car maintenance reminders and service history. Decodes VINs via NHTSA vPIC, runs an offline SQLite garage with a calibration wizard, supports due-by-mileage AND due-by-date logic, local notifications, and receipt photos. Optional cloud sync, Stripe Pro tier, and PDF export. Monorepo with shared Zod schemas between mobile and API.

TypeScriptExpoReact NativeFastifySQLiteZod

Beat-Sync Clips

Prototype

Hosted SaaS — "one video from your clips, cut to the beat." Upload a track plus video clips, librosa transient detection drives cut points, FFmpeg renders a single MP4 (9:16 or original aspect) with optional flash/zoom on cuts. Next.js + Tailwind frontend with Clerk auth, FastAPI backend handing off to RQ + Redis workers, Postgres for state, S3-compatible object storage, Stripe Checkout + webhooks, and slowapi rate limits.

Next.jsTypeScriptTailwind CSSFastAPIPythonPostgreSQL

Golf Swing AI

Prototype

Personal iOS app (Expo) + local Node server for golf swing analysis. Records 120/240 fps slo-mo on phone, compares side-by-side against baseline swings, and gets Claude-only vision coaching feedback. Server runs FFmpeg locally over LAN; designed to keep video processing on-device and on-network rather than in the cloud.

TypeScriptExpoReact NativeNode.jsFFmpegClaude

Monthly Money

Prototype

Local-first CLI + web UI that turns one month of bank statements into a report card. Upload PDF or CSV statements, enter income, get F → S letter grades per spending category and savings rate. Claude (no GPT) parses the statements and categorizes rows; grading itself is deterministic against a YAML benchmarks file so results are reproducible.

Node.jsTypeScriptClaudePDF ParsingYAMLCLI

AI Golf Caddie

Prototype

Mobile-first Progressive Web App that provides personalized golf strategy recommendations using AI. Generates pre-round hole-by-hole strategies for all 18 holes (teebox, fairway, chip) and adapts them in real-time during play based on photos, distances, weather, and lie conditions. Features LangGraph agent orchestration, vision AI for course photo analysis, handicap-adjusted strategies, and real-time strategy updates.

Next.js 15React 19FastAPILangGraphLangChainPostgreSQL

CredFinder - Security Agent

Prototype

AI-powered security agent that detects hardcoded credentials in code repositories. Automatically stores credentials as environment variables and fixes code references.

PythonLangChainLangGraphOpenAI APIGitPythonYAML

PDF Toolkit

Prototype

Free, privacy-focused PDF toolkit web application with 10+ tools including merge, split, compress, rotate, extract pages, watermark, and convert operations. All PDF processing happens client-side in the browser for complete privacy - files never leave the user's device. Built with Next.js 16, features SEO optimization, Google AdSense integration, and responsive design.

Next.js 16TypeScriptReact 19pdf-libpdfjs-distjspdf

LegalTrace - Lease Compliance

Prototype

AI-powered commercial lease compliance checker for Florida property managers and landlords. Uses agentic AI with LangGraph to analyze lease agreements against Florida Chapter 83 statutes, identifying compliance issues and providing actionable recommendations. Features self-correcting workflows, human-in-the-loop interrupts, state-aware retrieval planning, and real-time reasoning trace. Built with FastAPI, Next.js 15, PostgreSQL with pgvector, and MCP protocol.

LangGraphFastAPINext.js 15pgvectorMCPTypeScript

Walrus - Crypto Whale Tracker

Prototype

Full-stack blockchain wallet tracking and analytics platform. Tracks wallet addresses across multiple chains (BTC, ETH, SOL, BSC, Polygon), monitors transactions, and sends multi-channel alerts (Telegram, Discord, Email, SMS, Push). Features ML insights, API access, and Stripe payment integration.

JavaSpring BootPostgreSQLNext.jsReact NativeExpo

MoveFinder - Relocation Assistant

Prototype

AI-powered relocation assistant. Chat to describe where you want to move (climate, cost, coast, mountains, etc.); the app extracts criteria, ranks US cities from a static dataset, and shows candidates on a map. Pick a city, then describe neighborhood preferences (walkable, safe, family-friendly, transit)—get ranked neighborhoods for that city, displayed on the same map.

Next.js 16React 19TypeScriptTailwindOpenAIMapbox GL JS

Personal Finance Dashboard

Prototype

Personal-finance scenario dashboard with interactive sliders (salary, rent, expenses), plus a Model Context Protocol server that lets an AI assistant answer natural-language questions — savings rate, rent affordability, scenario comparisons — via typed tools (get_financial_snapshot, calculate_scenario, compare_scenarios).

MCPNext.jsTypeScriptPythonReactTailwind

More repositories, works-in-progress, and one-off experiments live on GitHub.

See all repos on GitHub