Mostly nights-and-weekends projects, each one an excuse to learn a layer of the stack properly.
Stashd — AI document inbox
Feeds extracted text and vision data into a locally hosted LLM to classify incoming documents, with a
confidence threshold that routes uncertain cases to human review. A Strategy + Adapter layer behind one
TypeScript interface keeps the app decoupled from any single AI provider.
ReactExpress TypeScriptOllama
Gemma
Codeboard — live coding & whiteboard
A browser workspace that unifies collaborative editing (Monaco) and whiteboarding (Excalidraw) over
WebSocket, with a peer-to-peer handshake that brings new joiners up to full session state instantly.
Serverless AWS backend manages session lifecycle, enforces a 4-user cap, and broadcasts content in-memory
only.
ReactWebSocket API GatewayLambda
DynamoDB
Warehaus — digital closet
A React Native app with a multi-stage ML pipeline pairing object detection with SAM segmentation,
processing clothing items in 2–4 seconds fully on-device to avoid latency and keep photos private. S3 for
image storage, Supabase Postgres for the catalogue.
React NativeExpo SAMAWS S3
Supabase