Group swipes crush indecision.
WhaTo nails it—a Tinder-style app for restaurants, movies, shows—where up to eight people join via four-letter code, swipe options live, and boom, consensus hits instantly. Built with React Native and Expo for iOS, Android, web; Firebase Realtime Database for sync; Cloudflare Workers proxying APIs. No ads, no logins, sessions die after 24 hours. The dev? A guy tired of wife debates. Market’s ripe: decision fatigue plagues 70% of couples per surveys—think Zegoclub’s $10M raise last year on similar polls, but WhaTo’s real-time edge feels fresh.
Does WhaTo Actually End the ‘What Do You Want?’ Loop?
Look, every couple knows it: that loop where “Anywhere’s fine” spirals to starvation. WhaTo flips it. Users punch a code—sessions auto-generate unique four-letter ones, recyclable post-expiry via Firebase TTL. Swipe left/no, right/yes on Yelp eats, TMDB flicks. Last swipe triggers results—no waiting.
“The core requirement was that everyone swipes simultaneously and sees results the instant the last person finishes. Firebase Realtime Database handles presence tracking and swipe state broadcast, but the matching algorithm runs client-side.”
Smart. Server-side? Latency killer—one round-trip per completion. Client-side set intersection? Redundant compute, sure, but zero delay. In a world where TikTok scrolls demand instant, this wins. My take: it’s like early Google Docs collab, but for choices—prefigures a boom in swipe-decide tools as remote groups fragment.
And here’s the data angle. Firebase RTDB pushes state changes; each phone crunches matches independently. For eight users, 256 possible combos—lightweight math. Tradeoff? Offline sucks. Dev admits: plane mode mid-swipe? Reconnect’s messy. Firestore’s offline queen; hindsight 20/20.
Nailing Tinder’s Swipe Feels in React Native
Tinder owns muscle memory. Get physics wrong—rotation curve off by 0.1s, snap-back sluggish—and it flops.
The dev screen-recorded Tinder, frame-by-frame analyzed acceleration, fling-off velocity. Overkill? Nah—React Native Gesture Handler + Reanimated delivered pixel-perfect mimicry. Cards rotate on drag, accelerate exponentially, snap back incomplete, yeet on commit.
But React Native’s no UIKit. Gesture Handler fights native quirks; Reanimated threads animations off UI. Iteration hell, yet payoff huge: first-time users swear it’s Tinder. Unique insight—echoes Instagram’s 2010 pivot to swipe feeds, training billions; now every decision app must homage it or die.
API Keys? Hide ‘Em with Cloudflare Magic
Yelp, TMDB, Google Places—goldmines, but client-bundle keys? Decompiler bait. Solution: Cloudflare Worker proxy. App pings Worker; Worker authenticates, rate-limits, validates, relays.
Clean. No upstream abuse even if endpoint leaks. Firebase rules lock sessions; no data hoard. Free tier handles spikes—group nights out.
Testing wise? Jest for units, React Native Testing Library mocks, Maestro E2E late-add regret. Earlier? Fewer prod bugs.
Firebase RTDB: Hero or Hidden Trap?
Real-time sync shines when connected. Presence tracks who’s swiped; broadcasts aggregate. But offline? Awkward dance on reconnect—state might desync.
Dev’s redo pick: Firestore. Better queries, offline-first. RTDB’s flat NoSQL fits broadcasts, though—migrate cost sunk.
Market dynamic: Firebase’s 2M+ apps, but gripes mount on offline. Supabase, PocketBase nibble—open-source realtime challengers. WhaTo’s proof: for bursty sessions, RTDB suffices. Prediction: as hybrid work surges, client-side compute like this scales to enterprise polls.
Corporate spin check—none here. Indie build, raw lessons. No VC fluff.
Why This Matters for Indie Devs
Cross-platform dream: Expo ejects if needed. Animations buttery. Cost? Free tiers galore.
Regrets minimal. E2E sooner; Firestore maybe. But launch-fast ethos wins.
Feedback loop? Dev craves it—tweak matching? Add polls? Scales to vacations, gifts.
🧬 Related Insights
- Read more: QR Codes and Screenshots in 50ms: The API That Kills Puppeteer Nightmares
- Read more: npm’s a Sucker Punch — Here’s Your Guard
Frequently Asked Questions
What is WhaTo app and how does it work?
WhaTo lets groups swipe on options like Tinder—restaurants via Yelp, movies via TMDB—for instant matches. Join code, swipe live, results pop post-final vote.
How to build Tinder-like swipes in React Native?
Use Gesture Handler + Reanimated. Study Tinder footage for curves; client-side matching via set intersection on Firebase broadcasts.
Is Firebase good for real-time group apps?
Yes for connected sync, but Firestore beats it on offline. Proxy APIs via Cloudflare to secure keys.