About: embdi

embdi is a modern dating service that uses artificial intelligence, geolocation, and real-time status updates to find compatible people near you.

Key Features:

🧠 Smart Sorting

  • By proximity and similarity (default) — combined algorithm that considers both distance and interest compatibility (50/50)
  • By proximity — shows nearest users based on geolocation
  • By similarity — uses AI embeddings (OpenAI text-embedding-ada-002) to analyze profile description compatibility

📍 Geolocation

  • Determines your location to show distance to other users
  • Displays distance in km for each profile
  • Ability to find people near you

🟢 Real-time Status

  • "Online" status — user is currently on the site (green indicator)
  • Last activity time — "was online 5 min ago", "2 hours ago", etc.
  • Automatic status updates via WebSocket (Socket.IO)

💝 Likes and Chat System

  • Like profiles you're interested in (description and/or photo)
  • Mutual likes open a private chat
  • Instant notifications for new messages and matches
  • Unread message counters

📸 Photos and Profile Customization

  • Upload profile photos
  • 🎨 AI Profile Picture Generation — create AI-enhanced versions of your photos with one click
  • Photo Gallery — all your photo versions are automatically saved (original + all AI generations)
  • Version Switching — easily switch between any photo version from your gallery
  • Original Photo Preserved — your original photo is always saved and can be restored anytime
  • Two card modes: separate (description and photo separately) or combined card
  • Visibility control: publish or hide your profile with one button
  • Specify gender and personalize description

How It Works:

  1. Sign up and create your profile with description and photo
  2. Optionally generate AI-enhanced profile pictures — all versions are saved in your photo gallery
  3. The service will determine your location and analyze your description using AI
  4. Choose your preferred sorting and browse other users' cards
  5. See similarity index (from 0 to 1) and distance for each user
  6. Like profiles you're interested in and wait for reciprocity
  7. When there's a mutual like — a chat opens for communication!

Technologies:

Backend: Node.js, Express, Socket.IO for real-time updates
Database: Supabase (PostgreSQL) with pgvector for storing embeddings
AI: OpenAI API (text-embedding-ada-002 for compatibility analysis, DALL-E/GPT-4 Vision for AI profile picture generation)
Frontend: Vanilla JavaScript, WebSocket for instant updates
Geolocation: Browser Geolocation API + haversine formula for distance calculations
Image Processing: AI-powered profile picture generation with version history and gallery management

Why embdi?

This project was born from a simple idea: what if we could create a dating service that doesn't require weekly subscriptions just to be visible? Instead of paying for attention, I decided to invest that energy into building something different.

embdi is a personal experiment — not a corporate product, but a designer's perspective on how things could work differently. It combines minimalist aesthetics with functional design, because I believe profiles should be authentic and straightforward, not cluttered templates optimized for monetization.

This is about rethinking the fundamentals: free access, honest presentation, and letting AI help match people based on actual compatibility rather than who paid more.

embdi is an experiment at the intersection of AI, geolocation, and social networking. We're testing how modern technologies can help people find compatible conversation partners near them.

Thank you for your attention and enjoy using the service!