MDBS - My Digital Bookshelf
Aug 2026

AI wrote every single line of this one. My digital book library (PDFs, EPUBs) had quietly eaten my cloud storage and was about to cost real money, so I built my own. The first thing I told the AI to do? Store the files as BLOBs in a SQL database. It would have done it happily. Catching that mistake — and understanding why bytes belong in object storage while the database holds metadata and a pointer — reshaped the entire architecture before it existed. That one call was worth more than the app. The stack I landed on: Cloudflare R2 for files (zero egress, entire library fits in the free tier), Neon serverless Postgres with Prisma for metadata, Next.js and TypeScript on Vercel. The AI could execute all of it in minutes. What it couldn't do was tell me the first architecture was wrong. That part was still mine.

Next.js TypeScript Cloudflare R2 Neon Postgres Prisma Vercel Claude Code
Live app ↗
stratLens - AI Strategic Analysis Platform
Jan 2026

I wanted a tool that could generate real strategic analyses - not summaries, but the structured frameworks that consultants actually use. So I built one. stratLens takes a company and produces SWOT, Porter's Five Forces, BCG Matrix, McKinsey 7S, and eight other frameworks, backed by live data from financial APIs and news sources. Supports three AI providers with a bring-your-own-key model so no one's API keys are stored in plaintext.

Next.js 14 TypeScript PostgreSQL Prisma D3.js Claude API OpenAI Clerk Auth
Live app ↗
Hedwig - Daily News Briefing
Feb 2026

Every morning I want to know what's happening in tech, politics, business, military, and a few other corners of the world - without spending an hour on it. Hedwig does that. It pulls from over twenty sources, uses Claude to summarize and curate, attaches source reliability ratings, and emails me a 20-30 minute digest at a time I chose. Automated via GitHub Actions. I've used it every day since I finished it.

Python Claude API GitHub Actions pytest Jinja2
Dear Diary - Full-Stack Journal
Jan 2024

A personal journal application I built to learn the full-stack workflow before building anything more ambitious. Authentication, full-text search, responsive design. The point of entry into everything that came after.

Next.js 14 TypeScript PostgreSQL Prisma NextAuth
Live app ↗
SwiftER - AI Patient Management Platform
Nov 2023 - Apr 2024

A USC class competition that turned into a six-month product development exercise. SwiftER was an AI-assisted ER management platform designed to help clinicians handle lab orders, patient flow, and communication more efficiently. I led a five-person team through user research with healthcare professionals, competitive analysis against existing EHR systems, financial modeling, and a validation partnership with a hospital in Japan. We reached the semi-finals of the Min Family Challenge for Healthcare Innovation.

Product Management User Research Financial Modeling Competitive Analysis GTM Strategy
ML Classification, Regression & Clustering
Jan 2026

Three coursework projects for NUS's Machine Learning module covering the end-to-end workflow. Earthquake damage classification from seismic feature data, insurance premium regression with regularization, and customer segmentation using K-Means. The point was less about the models and more about learning to make decisions at every step of the pipeline - what to clean, what to encode, when the accuracy number is lying to you.

Python pandas scikit-learn matplotlib Jupyter