There are roughly forty side projects on my disk; here are the ones I’m proudest of. Filter by status — the live ones you can use today, the OSS ones you can pip install, the WIP ones I run on my own hardware most evenings, the archived ones I kept because they were firsts.
First-party interactive work
Learn sorting by predicting operations, play five early AI games with a child, walk through a recorded agent world, or inspect the Tesla workspace. Each experience runs directly on this domain.
An interactive learning lab for 18 sorting algorithms that makes every comparison, write, and swap explainable. Learners can trace decisions step by step, predict what happens next, test hypotheses on different input shapes, and compare empirical operation growth.
A co-play learning app for very young children: five short, talking games that turn classification, training, clustering, prediction, and listening into concrete play. The public child edition is fully offline and contains no accounts, camera, microphone, or API keys.
Eight repos that distill ~85K words of research into a single dependency-ordered Tesla toolbox — AI Sentry triage, FSD-disengagement studio, per-VIN OTA diff bot, voice climate concierge, a Tessie replacement, and a delivery-day checklist. 6 of them are live on PyPI; 611 passing tests across the suite.
Sermon RAG for Grace Bible Church. Local-first: faster-whisper transcribes the videos, pyannote handles diarization, BGE embeddings land in ChromaDB, and LM Studio answers questions with timestamped citations. Ten phases shipped end-to-end.
A quiet place to pray, and to be prayed for. Anonymous-first: stays in localStorage until you sign in. Signed-in users post prayer requests strangers can carry for two minutes. Felt presence over feed-shaped engagement.
A render pipeline that turns each chapter of the Book of Job into a 60-second vertical video for Shorts/TikTok/Reels. Script → visual breakdown → ComfyUI keyframes → LTX video → F5-TTS narration → Whisper captions → FFmpeg assemble. Routes LLM work through my Claude Code subscription so it costs $0 per render.
A fully autonomous Old School RuneScape bot. YOLOv8 for visual perception, an LLM strategy layer for what to do next, a goal planner that pushes toward long-term targets (combat → 70, wealth → 1M GP, 200+ QP). 2,000+ source files, ~12 modules.
Real-time voice intelligence stack — dual-channel audio (mic + system loopback) → Whisper STT → BGE-M3 embeddings → ChromaDB → LM Studio → Coqui XTTS, with SpeechBrain doing speaker identification and conversation segmentation. Runs in ~21 GB of VRAM on a 3090.
NFL & NBA prediction app with a three-tier hybrid model (Elo + XGBoost + market signal). Daily picks, ROI tracking, bankroll, line-movement alerts. React 19 frontend, FastAPI backend, local LLM for chat.
A MyFitnessPal that actually does what MyFitnessPal should: snap a meal photo and let Gemini name what’s on the plate, then back the macros from the free USDA FoodData Central + Nutritionix APIs. Barcode scanning, recipe builder, water tracking, offline IndexedDB mirror.
Clinical-grade early language tracker for children 8–30 months, built on the MacArthur-Bates Communicative Development Inventories (MB-CDI). Flutter + Isar, COPPA/GDPR-aware, BLoC architecture. The MB-CDI vocabulary and gesture banks live in JSON; the app is feature-first.
A persistent 3D village inhabited by autonomous AI agents with personalities, goals, semantic memory, relationships, and daily plans. The public replay lets you follow a deterministic recorded world, change cameras, and inspect its agents without exposing the live local LLM or backend.
Android app I built for my dad’s construction company to track machines and trucks. Kotlin, Jetpack Compose, Room. Replaces the spreadsheet and a clipboard. Sometimes the most useful software is just the thing you needed anyway.
A native Swift agent simulation. Same idea as ai-world but in SpriteKit, native-fast, single-window. Built to see how far I could push tiny autonomous agents without WebGL anywhere.
Tiny CRM I built for my son Jace so he could track which companies he’d asked for swag, what stage each ask was in, and what the AI thought he should write next. Pipeline: Scouted → Drafted → Sent → Success/Rejected. He runs it himself.
My senior capstone at Cleveland State — a proof-of-stake cryptocurrency built by a team I led. Where I learned that the hardest part of a distributed system is not the consensus algorithm.
The first program I ever finished. C# + WPF, a perfectly functional clone of the Windows calculator with a hidden Easter egg that calls you names when you divide by zero. Wrote it in the first few weeks of college and proved to myself I could.