Back to Projects
~/projects/pastmeet[LOADED]

PastMeet

Next.jsConvexGemini

AI portrait blending that lets you hold the child you were and show them who you became.

Upload a childhood photo and a present-day selfie, and Gemini blends them into a Polaroid-style keepsake. It's part nostalgia trip, part self-reflection, wrapped in a real-time fullstack app with Convex and Clerk.

PastMeet screenshot

The Problem

We all have old photos tucked away somewhere. And we all wonder sometimes what our younger selves would think of who we've become. But there's no easy way to bridge that gap visually or emotionally.

The Solution

PastMeet uses Gemini 2.5 Flash to blend two portraits into one. Upload your past and present, and the AI creates a natural composite with Polaroid aesthetics, film grain, and gentle lighting. Share it to a public gallery or keep it private.

Interesting Details

  • Gemini 2.5 Flash blends portraits with carefully tuned prompts for natural, non-cartoonish output
  • Real-time generation status via Convex subscriptions (no polling)
  • Quota system with 3 free generations per user, tracked at the database level
  • Adaptive webcam capture that handles iOS quirks, HTTPS requirements, and permission errors gracefully
  • Public memory gallery with lazy-loaded pagination and admin moderation

Built With

Next.js 15React 19TypeScriptConvexClerkGemini 2.5 FlashTailwind CSS