01
SCENR
A collaborative trip-intelligence platform: everyone's scattered trip media becomes one shared story, plus a personalized version for every friend who was there.
Product manager leading a 10-person team. SCENR turns a friend group's scattered camera rolls into a shared story: one person creates a trip, everyone uploads to a link, and SCENR analyzes the trip once to group shots into shared moments, surface the strongest, and flag what's missing. It then produces a balanced Group Cut plus a personalized Trip Pack for each participant (their own reel, photo dump, Story set, and a Photos of You collection). Instead of an editing timeline, users steer their version with direct-intent controls like More Me ↔ More Group and Candid ↔ Polished. Shipping on iOS and Android with Flutter, a Node.js/Fastify and PostgreSQL backend, Cloudflare R2 storage, Redis/BullMQ processing, Python computer-vision Moment Intelligence, Essentia music analysis, and FFmpeg.
- Flutter
- Node.js / Fastify
- PostgreSQL
- Cloudflare R2
- Redis / BullMQ
- Computer Vision
- FFmpeg
02
Regulatory Filings
RAG Pipeline
Ask a question about Ontario Energy Board filings and get an answer that cites the exact filing, docket and page.
A medallion pipeline lands Ontario Energy Board filings, validates every pull, and parsed 314 of 334 regulator PDFs into 18,233 section-aware chunks in a versioned pgvector index, gated by 42 dbt data tests. Claude answers with citations to the exact filing, docket and page, and adding cross-encoder reranking and neighbor-chunk expansion raised LLM-judged accuracy from 83% to 97% on a dev set and from 91% to 100% on a held-out set.
- Python
- PostgreSQL / pgvector
- dbt
- DuckDB
- LangChain
- FastAPI
- Claude API
- Prefect
03
FitPic
A fashion accountability platform: daily fits, partner streaks, and a vision model reading your wardrobe back to you.
A computer-vision pipeline on Groq's Llama 4 Scout vision-language model extracts structured outfit attributes from user images against an enforced JSON schema, retrying invalid outputs and storing any that stay unreconciled as null, with 98% schema-valid output and 83% tag agreement over roughly 200 images, backed by PostgreSQL via Supabase Realtime. Behavioral and color trends surface in a personal analytics dashboard, secured behind a serverless Node.js/Vercel endpoint with JWT validation and server-side API-key management.
- React
- Supabase
- Groq API
- Llama 4 Vision
- Node.js
- Vercel
04
NBA Betting
Odds Analyzer
A dual-mode over/under predictor that picks its own best model, every query.
A train-on-demand path trains and evaluates five classifiers (XGBoost, Random Forest and others) per query and selects the best by validation ROC-AUC, alongside a fast path serving the best model logged in MLflow. Model selection is backed by MLflow experiment tracking and a versioned model registry, logging params and ROC-AUC/PR-AUC per run for reproducible comparison across retrains.
- Python
- Scikit-Learn
- XGBoost
- MLflow
- NBA API
[ walkthrough video coming soon ]