Live demo: https://loopin-pied.vercel.app Video: https://youtu.be/v37ixsdrwz8
You don't browse people. You post a plan. One engine matches any intent (coffee, sports, travel, and beyond) on timing, location, vibe, and trust, then honestly tells you who fits, who doesn't, and why.
Built for H0: Hack the Zero Stack (Vercel + AWS Databases). Track: Monetizable B2C. Backed by Amazon Aurora PostgreSQL + pgvector.
A category is just a config object (src/lib/categories.ts). The matching engine (src/lib/engine.ts) is generic — it never mentions coffee/sports/travel by name. Adding pickleball, roommate, or coworking is a new object, not new engine code. That's the platform.
- Hard filters — deal-breakers eliminate, never rank (time overlap, budget overlap, verified-only, city). Wrong matches never appear.
- Soft signals — a transparent weighted 0–100 score. Every point is traceable to a field. No black box.
- Conflict rules — the honesty layer. Surfaces why not even on strong matches, and flags some matches "we don't recommend this one." No other matching app tells you no.
Vibe (the fuzzy 20%) uses pgvector cosine similarity computed in SQL (src/lib/matches.ts). The LLM, when present, only phrases the result — the database decides.
Amazon Aurora PostgreSQL (pgvector) isn't just storing users — it is the engine:
hard constraints in WHERE, soft ranking over attributes JSONB, and vibe
similarity via the <=> operator, in one query.
cp .env.example .env
npm install
npm run db:up # Postgres + pgvector via Docker (port 5433)
npm run seed # realistic demo data (incl. a deliberately bad match)
npm run dev # http://localhost:3000Optional: set ANTHROPIC_API_KEY to enable LLM extraction of the one-sentence
intent. Without it, a deterministic heuristic fills the card.
- Pick a category → write one sentence → watch it become a structured Intent Card.
- See ranked matches with a traceable score breakdown.
- See a great match, and a
⚠️ "don't recommend" match (the moat). - Same engine across coffee / sports / travel — three contrasting axes.
- Next.js 16 (App Router) on Vercel
- Amazon Aurora PostgreSQL + pgvector (local: dockerized
pgvector/pgvector:pg16) pgfor queries; local hashing embedding (swap for Voyage AI in prod)