Projects
Property inspection reports still take 45 minutes of manual photo review. This service does it in seconds.
Open source vision ML service that analyzes property photos and returns structured inspection reports. Deployed on GCP Cloud Run with Terraform IaC, GitHub Actions CI/CD, and LiteLLM model-agnostic routing across Claude and Gemini.
Your server shouldn't know your dietary restrictions.
Privacy-first iOS dining companion that scans physical menus with VisionKit OCR and ranks dishes against your intent using on-device LLMs. Personal context never leaves the device.
Because landlords shouldn't need five tools to manage one property.
AI-powered rental management platform for landlords. Centralizes property operations including tenant management, lease tracking, rent payments, and maintenance requests. Features AI photo inspections that compare property conditions at move-in/move-out with automated reports.
A reproducible homelab - Proxmox, LXC, OpenTofu, zero open ports.
Home infrastructure as code. LXC containers managed with OpenTofu, a private PaaS on OCI with Cloudflare Tunnel so nothing is exposed to the public internet, and internal DNS + TLS via Caddy and AdGuard Home.
Writing
AI & Platforms
Shipping a property inspection API
Architecture decisions, tradeoffs, and what I would change.
Modeling login flows as state machines in TypeScript
Why I built auth-machines and what explicit state machines buy you in auth flows.
The MFA flow nobody talks about: handling partial auth state
What lives between password verification and MFA completion, and how to handle it cleanly.
Building reliable ML pipelines
Structured outputs, eval loops, and drift detection in production.
Homelab & Self-Hosting
A private PaaS on Oracle Cloud with Coolify and zero open ports
Self-hosting services on the OCI free tier ARM instance with Cloudflare Tunnel so the VM has no inbound ports exposed at all.
My homelab runs on Proxmox and OpenTofu, here is how I set it up
IaC for a reproducible homelab: LXC containers, OpenTofu, and why not Terraform.
Why I stopped using manual Docker installs and moved to LXC containers
How LXC containers changed the way I manage homelab services and why Docker still has a place.
Self-hosting a reverse proxy and internal DNS on Proxmox
Caddy, AdGuard Home, split DNS, and local TLS for internal services.
Gists
Work Experience
Full history on LinkedIn.