← All articles

How we build WhatToDo: from idea to Google Play closed test

The story behind WhatToDo: from hypothesis and MVP to closed beta on Google Play. Stack, decisions, what we would do differently, and what is next.

whattodo product engineering

Context

WhatToDo is our own product. We're 3VStyle, a Laravel studio, and alongside client projects we build an app for couples.

The idea is simple: help couples quickly decide «what to do tonight» — without long texting and arguments. Below is the path from hypothesis to closed beta on Google Play.

The hypothesis

We got the core insight on ourselves. «What to watch?» on Friday night can take up to 40 minutes of back-and-forth. The interesting part — both lose: you watch something neither truly wanted.

Hypothesis: if two people choose with swipes, not words — the conflict disappears. On a match, there's nothing left to argue.

The mechanic isn't new (Tinder did it for other tasks). The original part is applying it to joint choice for couples.

MVP in 6 weeks

We intentionally limited the MVP:

  • one room (a couple = 2 devices);
  • a single deck of 30+ ideas;
  • the «open — swipe — see match» scenario;
  • no profiles, no stats, no push at launch.

We deliberately did not build:

  • an idea library with filters;
  • user analytics dashboards;
  • premium features.

The point of MVP is to validate the mechanic itself. Everything else comes after.

Stack

Layer Choice Why
Frontend Vue 3 + Vite + Pinia Fast start, great dev tools, familiar to us
State Pinia Minimal boilerplate, nice TypeScript
Realtime + auth + DB Supabase Postgres + realtime + auth out of the box
Push, analytics, crash Firebase (FCM + Analytics + Crashlytics) Android standard, native SDKs
Android packaging Capacitor Web bundle to native APK/AAB
CI/CD GitHub Actions + Capacitor build One pipeline from Vite build to .aab

More on architecture and realtime — in the deep dive.

What saved us time

  • Supabase instead of our own backend. One engineer instead of three: shared Postgres, shared auth, shared realtime. We keep full schema control.
  • Capacitor instead of Flutter/React Native. We have a strong web team. No point learning a new language and toolchain for an app that's essentially «one swipe screen and two auth screens».
  • Firebase for base telemetry. Crashlytics is non-negotiable for closed beta — Play Console crash rate is too coarse.

What we revisited

  • PWA vs Capacitor. We started as a PWA. It didn't fly: PWA install scares Android users, the icon gets lost, and Play Store wants Play Store. We migrated to Capacitor.
  • Anonymous vs email auth. We considered Google Sign-In only. Ended up adding email + confirmation, because some couples want «both with accounts», and Google is often tied to one partner's phone.
  • Room TTL. First version had eternal rooms. UX suffered: returning a week later, the couple saw stale swipes. We set TTL to 24 hours.

What was hard

  • Two-device sync via Supabase realtime. The «one offline, one online» scenario was solved via local cache + replay on reconnect.
  • Google Play closed test bureaucracy. Privacy policy and account deletion instructions must live on dedicated URLs; content rating must be confirmed; screenshots have strict aspect ratios.
  • «Less is harder». An MVP with 5 screens needs the same discipline as one with 50. To every «let's add…» we answered «not in MVP».

What's next

  1. Public launch — July 1.
  2. iOS version — after launch, same codebase via Capacitor.
  3. Custom decks. Couples can add «their» ideas next to defaults.
  4. Themed bundles. «Rainy night», «no energy», «haven't been out for ages».
  5. Plan sharing. When a couple matches «movie night» — the app may suggest 2–3 films by genre.

If you're shipping your own MVP

  • Closed beta is the best product school. 20 real couples teach more than 200 internal tests.
  • The platform still matters. Web app and Android app are different psychological contracts. Android needs an icon, a Play Store entry, push.
  • «All in one» kills the launch. Better one mechanic done well than four half-done.

If you need something similar — we do projects like this for clients. If you want to follow the process — join the WhatToDo Telegram channel.

Read next