DateVibes
A full-stack, AI-powered dating-ideas platform — a responsive web app, a native mobile app, and a NestJS API — that helps couples discover personalized date ideas blended from their tastes, location, and the weather. Built as a production system, not a prototype.

Date ideas that learn
Couples sign up individually or as linked partners, build a taste profile in under two minutes, and get AI-generated suggestions blended with real venue data. They swipe, like, and favorite — and the recommendation engine learns from every interaction.
From signup to a personalized swipe deck
A fresh, precomputed set of ideas per couple
Public discovery pages by city and topic
Web, mobile, and API — sharing one type-safe contract
A pnpm monorepo with apps/backend, apps/frontend, and a shared packages/shared of typed API contracts and Zod schemas used across web, mobile, and server.
Web app
React 18 + TypeScript + Vite, TailwindCSS, Radix UI, TanStack Query, and React Router 6. A public marketing site with per-city and per-topic SEO landing pages, the authenticated explore/swipe/favorites experience, a date-plan builder, pricing, and an RBAC admin console.
Native mobile app
React Native + Expo (SDK 54) with React Navigation, React Query, Expo Secure Store, and Expo Location. Mirrors the core web flows — onboarding, taste profile, swipe-to-discover, daily drop, idea detail, plan builder, and a RevenueCat-powered paywall — with Sentry crash reporting.
Backend API
NestJS with ~30 feature modules, TypeORM over PostgreSQL/Supabase, pgvector for embeddings, Redis + BullMQ for caching and background jobs, JWT/Passport auth, and scheduled tasks. Deployed to AWS EC2 via PM2 with health checks, graceful shutdown, and auto-restart.
A recommendation engine that gets it right for two people
The centerpiece of DateVibes. Candidate ideas are embedded, stored in pgvector, and ranked against a per-couple preference profile by a configurable, weighted scoring service.
Vector recommendation core
OpenAI embeddings for every venue and idea live in pgvector and are ranked against a per-user preference vector by a configurable, weighted scoring service.
A real learning loop
Every like, dislike, favorite, and skip is captured as an interaction and fed back into the couple's profile, so the deck visibly sharpens as they swipe.
Partner compatibility
Date personas and partner-compatibility scoring mean suggestions account for two people at once, not a single user's taste.
Tunable weight profiles
Scoring weights are persisted per cohort and per user, so the ranking can be experimented with and tuned without shipping code.
The weighted scoring signals
Taste similarity
Cosine similarity between the venue/idea embedding and the couple's learned preference vector in pgvector.
Location & distance
Real venue coordinates from Google Places + Foursquare, distance-decayed against the couple's location.
Weather fit
Live OpenWeather data filters indoor vs. outdoor ideas in real time so a rainy night never surfaces a park picnic.
Trending & social
Trending scores and social signals nudge ideas other couples are loving right now up the ranking.
Novelty
A novelty term keeps the deck fresh, down-weighting ideas close to what the couple has already seen.
Budget & time-of-day
Budget bands and time-of-day appropriateness tune suggestions to the moment, from a coffee date to a night out.
Real venue data, real weather, real payments
Every external call is wrapped in a Redis caching layer, and every webhook is handled idempotently.
Google Places + Foursquare
Venue & place data with caching layers and an image-proxy / enrichment pipeline.
OpenWeather
Real-time weather used to filter indoor / outdoor ideas before they ever reach the deck.
Stripe + RevenueCat
Payments on web and mobile with idempotent webhooks and subscription-history tracking.
Resend
Transactional email plus waitlist and contact flows.
S3-compatible storage
Stores AI-generated and enriched venue imagery served through the image proxy.
OpenAI
Embeddings for ranking plus AI suggestion, itinerary, and image generation with credit accounting.
A loop that pays off in minutes
A new couple signs up on web or mobile, completes a taste profile in under two minutes, and immediately swipes through location- and weather-aware date ideas that visibly improve as they interact. They save favorites, build and share a date plan, and upgrade to premium through a working paywall — all backed by an API that learns from their behavior and refreshes a personalized daily drop.
Want a product like DateVibes?
We build production-grade, AI-powered platforms end-to-end — web, mobile, and API. Let’s talk about yours.