skip to content
back home

CARTRIDGE SHELF · EVERYTHING I'VE SHIPPED

the full /projects directory.

Work projects pay the bills. Side projects pay the catharsis. The ones in the middle are products I built end to end because nobody was going to. Anything with a PRESS START has a full write-up behind it — blow on the cartridge if one doesn't load.

MAIN CABINETS

built and shipped solo

SOLO BUILD

© 2026 — live

A journal that remembers — on a server that can be made unable to read it.

An AI-first journaling app across web, iOS and Android. Entries are written, spoken or photographed, encrypted in the browser before they go anywhere, and queryable — by its own AI companion, or by your assistant over MCP. Turn on Private Vault and the backend loses the ability to decrypt you at all.

RUNS ON

GoReact 19ExpoPostgreSQLlibsodiumVertex AICloud Run
PRESS START — read the Hearth case study

COMING SOON

© 2026

The internet doesn’t send webhooks. This gives it some.

Point Vigil at a webpage and it becomes an event stream: it extracts real values, decides what’s worth acting on with a proper rule engine, and fires signed webhooks, Slack messages or chained action DAGs. When the page gets redesigned, the extractor heals itself and hands you a diff instead of silence.

RUNS ON

GoCELRiverPostgreSQLNext.jsChrome MV3MCP
PRESS START — read the Vigil case study

SOLO BUILD

© 2026

Point of sale for cafés that have an actual floor to run.

A multi-tenant POS and back-office for cafés and restaurants, built for how they really operate: open a tab on a table or a walk-in, send it to a kitchen screen, settle it in cash or a QR wallet. One deployment, one database, and a tenant boundary the database itself enforces.

RUNS ON

GochiPostgreSQLReactTypeScriptWebSocketsTurborepo
PRESS START — read the GoServe case study

SOLO BUILD

© 2026 — live

All 701 verses of the Gita, explained. No accounts, no ads, no network required.

A contemplative reader for the Bhagavad Gita: every verse in Devanagari with transliteration, a literal translation and an explanation written for this project. The palette follows the time of day, the whole book works with the network off, and nothing you read or write leaves your device.

RUNS ON

Astro 5React 19TypeScriptZustandMiniSearchWorkbox
PRESS START — read the Dhruva case study

CO-OP MODE

at work

WORK CAB

© 2020 — ongoing

Vyaguta

The internal nervous system of Leapfrog — built one microservice at a time.

Information management and enterprise resource platform powering Leapfrog Technology's day-to-day. Multiple SPAs, a swarm of RESTful microservices, and a slow, deliberate climb up the AWS bill.

RUNS ON

ReactJSReduxNode.jsExpressAWS (Fargate · SQS · RDS · S3)PostgreSQL

WORK CAB

© 2025

Voice-to-Voice AI Agent

A customer service rep that never sleeps, never sighs, and never sends 'just checking in'.

Real-time voice-to-voice assistant built on Gemini Live for customer engagement and service automation. Latency tuned to feel like a human (well — a polite human who isn't on a call with their other line).

RUNS ON

Gemini LiveNode.jsWebSocketsAWS LambdaLlama_index

SIDE QUESTS

on the side

SIDE QUEST

© 2021

Chautari

Real-time chat with a built-in profanity nanny.

Secure WebSocket-based chat app with HamroAuth integration, age verification, and content moderation. The kind of project that teaches you why every chat app inevitably reinvents itself three times.

RUNS ON

Node.jsExpressReactJS (TS)FlaskSpringMongoDBPostgreSQLAWS S3 · LambdaCircleCI

SIDE QUEST

© 2021

HamroAuth

Drop-in auth so you can stop writing yet another login page.

Generic authentication-as-a-service module with admin dashboards, API usage tracking, and white-label sign-up/login screens. Auth0 if Auth0 was made by someone who also wanted to eat dal-bhat.

RUNS ON

Spring (Java)ReactJS (TS)PostgreSQLAWS S3CircleCI

SIDE QUEST

© 2020

Koora

A content/article forum built before everyone gave up and went to Substack.

Django-powered article-sharing web forum with clean publishing and reader-friendly threading.

RUNS ON

DjangoPostgreSQLHTML/CSSAWS S3CircleCI

SIDE QUEST

© 2019

K cha!

Android chat app. The name means 'what's up?' — yes, exactly.

Native Android chat with multimedia sharing, backed by Firebase Realtime Database.

RUNS ON

Android (Java)Firebase Realtime DB