Projects

Systems I've built or led — from production platforms at work to things I build for the fun of it.

Personal projects

Tattoo Trap preview

Visual Similarity Search

Live

Tattoo Trap

Upload a reference tattoo and find local artists whose work visually matches. CLIP embeddings run entirely in the browser, ranked against artist portfolios with Supabase pgvector — fed by a Python crawl-and-embed pipeline.

Next.js
TypeScript
Python
CLIP
pgvector
Supabase
Recipe Vault preview

Published Obsidian Plugin

Published

Recipe Vault

A full recipe management system for Obsidian — import any recipe from a URL via JSON-LD, browse a visual gallery, and build shopping lists automatically with unit merging. Published in the Obsidian community plugin store.

TypeScript
Obsidian API
OpenRouter
Handlebars
Home Atlas preview

Home Management App

In development

Home Atlas

A full-stack home organizer — Track maintenance, capital improvements, warranties, and documents in one calm, considered record and keep a complete export you own forever.

Next.js 16
TypeScript
Supabase
Auth.js
Mapbox

Private repo · launching as a product soon

Trace preview

AI CBT Journal

Private

Trace

A CBT journaling app with semantic memory, entries are embedded so relevant past reflections surface as you write, paired with a Socratic AI panel and weekly theme summaries generated on a schedule.

Next.js
TypeScript
Supabase
OpenRouter
Embeddings

Private · a personal project