Inspiration

We wanted to transform dating from a static experience into something active and adventurous. Most dating apps reduce connection to endless swiping, which feels detached and repetitive. Inspired by the movement and discovery of Pokémon GO, we imagined an experience where people meet naturally through exploration and play. That idea became PokeDate, a geolocation-based dating app that combines fun, motion, and real-world connection.

What It Does

PokeDate lets users discover and connect with nearby people in a playful, map-driven environment. Users can:

View nearby profiles on a live interactive map

Throw a "Pokéball" at another user within a certain distance to express interest

Match instantly when two users "catch" each other

Customize visibility and preferences, or go into ghost mode for privacy

The app merges gaming dynamics, geolocation, and authentic social interaction into a single seamless experience.

How We Built It

Frontend: Built with React Native (Expo) and TypeScript for fast, type-safe mobile development

Backend: Express.js API hosted on Vercel or Render

Database & Auth: Supabase (PostgreSQL with Row Level Security) for data storage and user authentication

Realtime Communication: Socket.IO for live updates and events between users

Maps: React Native Maps for location display and clustering

Styling: NativeWind/Tailwind-RN for consistent and reusable design components

We followed a modular, phase-based build process to ensure stability and scalability. Each phase—authentication, location sharing, matching, and interaction—was developed and tested independently. Git and strict Cursor Rules were used to maintain structure and prevent regressions during AI-assisted coding.

Challenges We Ran Into

Efficiently handling frequent real-time location updates without overloading the API

Designing a map interface that communicates both proximity and intent clearly

Maintaining accurate distance checks across both the client and server

Keeping AI-generated code consistent with architectural decisions as the codebase expanded

Accomplishments That We're Proud Of

Delivered a fully functional map-based dating prototype with smooth real-time interactions

Created a clean, scalable React Native codebase with shared UI components

Implemented socket-based matching logic in a minimal and maintainable way

Prioritized user privacy by ensuring that location sharing is opt-in and fully revocable

What We Learned

Precise prompt engineering and well-managed context make AI collaboration far more effective

Breaking large features into smaller, isolated tasks leads to cleaner, testable modules

Row Level Security in Supabase is powerful for enforcing ownership and visibility at the database level

It is possible to build a “fun” and engaging UX while maintaining solid engineering discipline

What's Next for PokeDate

Add secure in-app chat and push notifications for matches

Introduce augmented reality features to make the “throw” mechanic more immersive

Build a lightweight AI moderation layer for safety and trust

Create public hotspots and social events for in-person discovery

Explore machine learning-based recommendations to improve match quality

Share this project:

Updates