projects
Projects I'm currently hacking on and client work I've shipped.
mtlarchives
Semantic search for Montreal's historical photo archivesStarted as an Instagram account sharing old Montreal photos from the city's Open Data portal. Now grown to ~3k followers and evolved into a full semantic search platform for ~15,000 historical images (1870s-1990s).
Built a complete data pipeline and search API with sub-50ms response times globally:
- Semantic search using BGE text embeddings on Cloudflare Vectorize
- Visual similarity search with CLIP embeddings (in development)
- ETL pipeline: metadata cleaning, date normalization, deduplication, geocoding
- VLM auto-captioning and OCR for data enrichment
- Next.js frontend with Mapbox integration for geospatial browsing
Stack: Cloudflare Workers, D1, Vectorize, R2, Workers AI, Next.js, TypeScript, Python
Diane Party Rentals
Custom ERP for event rental businessReplaced manual paper-based workflows with a custom ERP system featuring automated quoting, real-time inventory locking (optimistic concurrency), and Stripe payment processing. The system handles the full rental lifecycle from quote to return. Built with Next.js, TypeScript, and PostgreSQL.
Impact: Reduced quote turnaround from 24h to <2h
visit siteBallerz Football Academy
Scheduling and payout platform for youth sportsA multi-tenant platform featuring a landing page with dedicated admin and player portals. Staff can manage players, sessions, bookings, availability, and process payments through an admin interface. Players access their bookings, check trainer availability, and track training progress in their personalized portal. Built with Next.js, TypeScript, Tailwind CSS, and Cal.com for scheduling. Deployed on Vercel with Supabase.
Impact: Handling 100+ monthly sessions, eliminated manual scheduling overhead
visit site