Developer & Entrepreneur
AI 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.
A 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.
HealFrameA 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 — a Three.js 3D globe, a cyber-vulnerability board, and satellite/orbital tracking.
Argus FusionAn anonymous emotional-release app where you pour out what's weighing on you and burn it with a 3D fire animation. I built the burn effect with React Three Fiber and a Blender CG pipeline, routed anonymous comfort messages through an AES-256 encrypted escrow design, and shipped it as a Turborepo monorepo spanning a Next.js web app and an Expo mobile app.
MinddumpA habit-breaking app I built from my own experience with trichotillomania. Detects hand-to-face contact in real time through your webcam and alerts you instantly. Customize detection zones for scalp, eyebrows, cheeks, and more, then track your progress with daily stats and streaks. All video processing stays on your device — nothing is ever sent externally.
An open-source web app that estimates which rent-control regime (City RSO, AB1482, LA County RSTPO/JCO) likely applies to a given address. With no public RSO-registry API to lean on, I designed an 'honest estimator' over Census and LA County Assessor open data, with a rules engine that leans protective at every ambiguous boundary — locked by 198 tests. The focus was robustness of public-data integration: a profiled indexed-query fallback (1s vs 13–55s) and injection-whitelisted API calls.
An 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.
An AI horoscope platform I built for the US and Latin American market. It computes real planetary positions with astronomy-engine and statically generates zodiac, compatibility, and weekly/monthly horoscope pages in a six-language SEO architecture designed to capture organic traffic.
ZodiaclyA web app for discovering places across Greater LA — beaches, hikes, date courses — reachable without a car. I built the full data pipeline (GTFS ingestion, OSM scraping, PostGIS reachability scoring) and ran a self-hosted OpenTripPlanner 2 instance for live multimodal routing. To keep recommendations honest I reconciled straight-line 'nearest stop' estimates against the real router from multiple origins, and deployed the whole thing through a GitHub Actions CI/CD pipeline on Docker.
TransitLAA multi-user PWA that turns a receipt photo into a tidy budget entry — Gemini OCR extracts merchant, total, date, and category. I scoped every endpoint per user (down to the SSE-stream and image-serving seams), made the usage quota concurrency-safe with transactional row locks, and added a janitor that reclaims OCR jobs stranded by a mid-process redeploy.
A real-physics multiplayer browser game inspired by SpaceX's Mechazilla booster catch. I implemented suicide-burn physics calibrated against public SpaceX data, real-time competition and a leaderboard on an authoritative Colyseus server, and Three.js WebGL rendering with nine camera modes and a bilingual EN/KO UI.
A sobriety commitment app where you stake real money and verify each day with a selfie check-in. I designed a non-custodial Stripe Connect flow that auto-donates the stake to charity on failure (the platform never holds funds), and built it as an Expo + Fastify monorepo with 313+ tests and full CI.
A local web studio that automates voice cloning — pick a speaker from any video and it fine-tunes a GPT-SoVITS v4 model end to end. I collapsed a scattered set of scripts (vocal separation, diarization, clustering, transcription, training) into a single one-click pipeline orchestrated by a GPU job queue.
A self-hosted image and video generation platform that uses Claude Code as an automated prompt engineer — turning Korean or English input into optimized prompts and ComfyUI API-format workflow JSON. I built the full multi-user layer around it: a sequential job queue, thumbnail pipeline, and a social gallery with likes and comments.
A Windows tray app for the TP-Link Kasa KL125 smart bulb. I drive the bulb directly over the LAN with python-kasa and built an Ambient mode that samples a selected monitor's dominant color in real time and mirrors it to the bulb — Philips Hue Sync for a single bulb. Built with PySide6 with multi-monitor selection, global hotkeys, a color-preset library, and a bilingual KO/EN UI; credentials live in Windows Credential Manager and it ships as a single-file EXE via PyInstaller.
Released public-data and developer-tool projects — RentRights (LA rent-control estimator for tenants), DevDeck (a command-deck desktop app for Claude Code projects), and TransitLA (car-free LA discovery on public transit).
Rapidly designed, built, and shipped AI-driven web and mobile products — healframe (mental health), argus-fusion (real-time OSINT), zodiacly (horoscope), and minddump (emotional care).
Solo-built an AI sourcing assistant SaaS while preparing my own sourcing business. Developed web, desktop, and Chrome extension with Stripe billing and Shopify integration
Built a webcam-based habit-breaking desktop app driven by personal experience with trichotillomania. Real-time hand-to-face detection using MediaPipe Vision
Contributed to a multi-service e-commerce SaaS for online sellers — React frontend and NestJS backend, Shopify/Cafe24 marketplace integration, subscription billing, and OCR/AI image tooling.
The real problem with trichotillomania is that you don't notice your hand going up. An honest record of building Don't Touch — a webcam app that catches that moment — then using it, abandoning it, and getting one email that made it worth it.
I once bought a breathalyzer and made a deal with a friend: send a capture of every reading, or pay a fine. That clumsy contraption worked surprisingly well — so now I'm building it properly: a sobriety app where a failed check-in sends your stake to charity.
It started with a library book and ended with an AI pipeline that isn't allowed to miss a crisis signal. The question I've held onto longest while building HealFrame isn't technical — it's about legitimacy.