Portfolio

Personal projects

Products I actually use, run, and keep improving across mobile, web, browser extension, and backend infrastructure.

Corki
Visit

A React Native app I use for restaurant discovery, menu scanning, pairing recommendations, and saving the wines and dishes I want to remember.

  • Built with Expo, including Expo Maps, animations, and camera/menu upload flows.
  • Shares the wine-consulting backend with Cork Commerce: Next.js App Router API routes, Supabase auth/Postgres, Trigger.dev jobs, and Cloudflare Workers for heavier AI pairing work.
  • Uses Groq, OpenAI, and Google Places for menu parsing, wine discovery, pairing logic, restaurant search, and place metadata.
React NativeExpoSupabaseCloudflare WorkersTrigger.dev
Pasteproof
Visit

A data loss prevention platform for catching sensitive content where people actually paste and share it.

  • Built across a WXT browser extension, Next.js dashboard, Cloudflare Workers, and Supabase.
  • Uses Modal for AI infrastructure and experiments with ONNX models for in-browser classification so some detection can happen locally before data leaves the browser.
Open sourceDLPWXTNext.jsModalONNX
Cork Commerce
Visit

A restaurant wine consulting project backed by the same production pairing system that powers Corki.

  • Next.js API routes handle authenticated profiles, saved pairings, ratings, trials, upvotes, restaurant lists, guest requests, menu extraction, and job polling.
  • Supabase provides auth, Postgres data, row-level security patterns, admin service clients, and user privacy export/delete flows.
  • Trigger.dev and Cloudflare Workers run long-running scrape, menu, free-pairing, wine discovery, and failure/cancellation workflows outside normal web requests.
Next.jsSupabaseTrigger.devGroqGoogle Places