[{"techStack":"Swift, SwiftUI, Swift Elementary, Hummingbird, PostgreSQL, Docker, Caddy, Oracle Cloud, Cloudflare, macOS","name":"Portfolio Platform","hook":"My journey, served by infrastructure I built end to end.","id":"25AAF961-A79A-4EDB-ACDC-4F343EA95485","summary":"A portfolio spanning three Swift surfaces — a website built with Swift Elementary, a macOS app, and the REST API behind them, built with Hummingbird and PostgreSQL, self-hosted on an Oracle Cloud VM behind Caddy with automatic HTTPS. My favorite personal project: building it meant finally understanding the whole stack — TCP, DNS, TLS, Docker, reverse proxies, and firewall security — from a request's first byte to the SQL underneath.","projectType":"personal","impact":"Every layer self-built and self-hosted — from DNS to database.","isCurrent":true,"projectDate":"Q3 2026","logoSlug":"portfolio"},{"techStack":"Java, Apache Velocity, Swift, SwiftUI, WKWebView, jlink, macOS","name":"Velocity Template Analyzer + Journey Visualization","hook":"Turned hand-edited XML guesswork into auto-generated native forms.","id":"3699FEE6-7512-4DC3-B04E-8263A1C94AA2","summary":"Editing customer-communication templates meant hand-crafting XML payloads and re-calling a rendering API to see each variation — slow and error-prone. I built a Java CLI that statically analyzes Apache Velocity templates: it parses each template into an AST, walks it with a custom visitor to discover every XML field the template reads, infers types from usage, tracks conditional field dependencies, and emits a JSON schema. A companion macOS app consumes that schema to auto-generate native SwiftUI forms, builds the XML from user input, and renders the result in-app. The analyzer ships inside the Mac app with a minimal jlink-built JRE, invoked as a subprocess — templates never leave the machine, and users never install Java.","projectType":"work","impact":"Template variation testing went from hand-editing XML to filling out a form.","isCurrent":false,"projectDate":"Q1 2026","logoSlug":"velocity-analyzer"},{"techStack":"Swift, SwiftUI, CoreBluetooth, iOS, watchOS, Supabase, Oracle Cloud","name":"Passerby","hook":"Find out who you crossed paths with today.","id":"EB50BB22-C935-4BB7-8539-6FA23921E9EB","summary":"Built with a friend around a simple idea: you live your day, and 24 hours later the app reveals who you walked past who also has it. Devices advertise over Bluetooth LE and estimate proximity from RSSI signal strength. Early versions emitted a static identifier — until I realized anyone could sniff it and link it back to a user, so I redesigned it around hashed UUIDs that rotate on a schedule, making devices unlinkable to outside observers. Now expanding to watchOS with a Find My-style glanceable view.","projectType":"personal","impact":"Working cross-device proximity detection with rotating-token privacy.","isCurrent":true,"projectDate":"Q4 2025","logoSlug":"passerby"},{"techStack":"Swift, SwiftUI, Firebase, iOS","name":"AI Calendar","hook":"A calendar that finds when my friends and I are actually free.","id":"81242E94-2FDA-422F-A477-6A34A9B5F00A","summary":"My friends and I had constantly conflicting schedules, and no mainstream calendar lets you check a friend's availability. So I built an app where we share calendars and it proposes times we're all free to hang out.","projectType":"personal","impact":"Used by my friend group to actually find hangout times.","isCurrent":false,"projectDate":"Q4 2024","logoSlug":"ai-calendar"},{"techStack":"Swift, SwiftUI, Resend API, Twilio SMS API, iOS, iPadOS, macOS","name":"Henna Waiver App","hook":"A waiver app that protected my mother's henna business from legal risk.","id":"AEFCB77B-7297-4213-BAF7-C6BBF2244A80","summary":"After a liability issue around customer disclosure at my mother's henna business, I built an internal app where customers sign a digital waiver covering their rights and possible allergic reactions — every signed copy archived via Resend, with Twilio SMS notifications. It also sends promotional emails to past customers to drive repeat revenue.","projectType":"personal","impact":"In production — used daily by a real business; I maintain it with production fixes.","isCurrent":false,"projectDate":"Q1 2024","logoSlug":"henna-waiver"},{"techStack":"Swift, SwiftUI, Firebase, OpenAI API, iOS","name":"AI Chat App","hook":"The high school project that started my AI ambition.","id":"3EB6CFB6-8936-49A5-B717-EB49C7139757","summary":"With AI advancing, I wanted to replicate the chat experience for myself — a native iOS ChatGPT client built in my senior year of high school, months after the API launched.","projectType":"personal","isCurrent":false,"projectDate":"Q2 2023","logoSlug":"ai-chat-app"}]