Work

Projects & experience

A selection of things I've designed, built, and shipped, plus where I've worked along the way.

LiveDocMind preview

DocMind

2026

A production-ready RAG pipeline that lets you upload any PDF and ask questions about it in natural language. Built with a focus on retrieval quality and verifiability — every answer cites the exact source chunk it came from.

Node.jsTypeScriptOpenAI APIpgvector
LiveVotecast preview

Votecast

2026

A fault-tolerant, real-time polling system where votes are never lost. Built with an event-driven architecture using Apache Kafka for durable vote queuing, PostgreSQL for persistence, and WebSockets for live result updates.

Node.jsTypeScriptKafkaZookeeper
LiveReadySetShoot preview

ReadySetShoot

2025

ReadySetShoot is a comprehensive photography planning platform that combines precise sunrise/sunset times, astronomical forecasts, and real-time tide tracking into a single, intuitive interface. Designed for landscape, astro, and outdoor photographers who need to plan shots down to the minute.

ReactTypeScriptTailwind CSSAstro APIs
LiveQbox preview

Qbox

2024

Qbox is an open-source web application that allows creators, teams, and individuals to create secure, anonymous feedback boards. Users can easily share unique links to receive unfiltered constructive criticism, messages, and suggestions in real-time.

Next.jsNextAuth.jsMongoDBMongoose
LiveBlog It preview

Blog It

2024

A high-performance serverless blogging platform featuring a modern rich text editor, comprehensive CRUD capabilities, secure session management, and efficient database query pooling. Designed to mimic the clean typography and interactive feel of Medium.

ReactCloudflare WorkersPrismaPostgreSQL
LiveBookshelf preview

Bookshelf

2024

Bookshelf is a personalized book notes and ratings tracker designed for avid readers who want a clean, simple, and self-hosted way to catalog their reading history, take organized chapter-by-chapter notes, and sort their library by various metrics.

Node.jsExpress.jsPostgreSQLHTML5