Drymora
ACTIVEPRIVATEAn evidence-based, bilingual (EN/es-US) sobriety PWA that also ships as an Android app. Built on Better Auth, Drizzle, and Postgres with web-push notifications and offline (IndexedDB) support, wrapped as a TWA and published to Google Play. Positioned as a general-wellness tool, not a medical device.
TypeScriptNext.jsReactPostgreSQLDrizzle ORMbetter-auth
← Sobriety App rebuiltSoursea
ACTIVEPRIVATEAI sourcing assistant SaaS I built while preparing my own sourcing business. Analyzes Alibaba/1688 product screenshots with AI to calculate margins, assess risks, and auto-generate supplier messages. Solo full-stack development across web, desktop, and Chrome extension with Stripe billing, Shopify integration, and 5-language support.
TypeScriptNext.jsNestJSElectronReactSupabase
HealFrame
ACTIVEPRIVATEA mental health SaaS I designed around Judith Herman's three-stage trauma recovery model. I built AI-guided journaling with a Gemini-powered crisis-detection safety pipeline (GREEN/AMBER/RED) — deliberately fail-closed on input and fail-open on output, validated by an LLM-judge eval harness with zero tolerance for missed crisis cases — plus peer support circles, Stripe billing, and an Android build via Capacitor, solo full-stack across web and mobile.
TypeScriptNext.jsReactPostgreSQLPrismaNextAuth
Argus Fusion
LAUNCHEDPRIVATEA real-time OSINT situational-awareness web app styled as an intelligence watch floor. I aggregated 10+ live public feeds (USGS, OpenSky ADS-B, CISA KEV, NASA, GDELT, CelesTrak…) through a config-driven feed registry with server-side caching, and visualized them across four views, including a Three.js 3D globe, a cyber-vulnerability board, and satellite/orbital tracking.
TypeScriptNext.jsReactThree.jsReact Three Fibersatellite.js
RentRights
LAUNCHEDAn open-source, bilingual (EN/ES) web app that estimates which rent law protects an LA renter — City RSO, AB 1482, LA County RSTPO, or just-cause — from their address, plus the current legal increase cap and a rent-increase legality checker. With no public RSO-registry API to lean on, I designed an 'honest estimator' over live LA County Assessor and US Census open data (cross-verified against the county roll), with a four-regime rules engine that leans protective at every ambiguous boundary and degrades to 'pending — confirm with LAHD' rather than ever being confidently wrong. Locked by 222 tests; a profiled indexed-query fallback cut lookups from 13–55s to ~1s. PageSpeed 100/100/100/100, WCAG AA in light and dark.
TypeScriptNext.jsReactTailwind CSSLA County GISCensus API
DevDeck
ACTIVEAn Electron command-deck desktop app for developers who manage many projects with Claude Code. It scans git repos under configured folders and surfaces git/session state, staleness badges, and token-cost estimates as cards; 'Open' spawns `claude -r <session>`. I treated Electron security as a first-class concern (contextIsolation, sandbox, argv-not-string-interpolation against command injection) and backed it with 132 tests and a Playwright + axe e2e gate.
TypeScriptElectronesbuildVitestPlaywrightaxe-core