Bebblo — aplicație de parenting cu rating 4.8 în App Store, construită în React Native
Bebblo ajută proaspeții părinți să track-uieze alăptări, somn, scutece, creștere și primele realizări ale bebelușului. Aplicația are rating 4.8 în App Store și e disponibilă în 5 limbi. Provocarea tehnică: experiență fluidă offline-first, sincronizare pe mai multe device-uri, și monetizare IAP care funcționează pe ambele platforme.
Contextul de business
Piața de aplicații baby tracker e saturată: peste 200 de aplicații concurente, majoritatea cu UX din 2018 și modele de monetizare agresive (paywall după 3 zile de trial, reclame full-screen între acțiuni). Bebblo trebuia să diferențieze prin: (1) UX modern, curat, fără reclame intruzive, (2) funcționare offline-first — o mamă la 3 dimineața nu așteaptă încărcare, (3) sincronizare între telefonul mamei și al tatălui, (4) tracking vizual al creșterii cu curbe OMS standard.
Stack-ul ales: React Native (bare workflow, fără Expo) pentru code-sharing între iOS și Android cu peste 90% reutilizare. Backend: Supabase self-hosted pentru auth, DB și storage. Monetizare: RevenueCat pentru gestionarea unified a IAP pe ambele platforme.
Decizii tehnice cheie
1. React Native bare workflow pentru control nativ
Am ales React Native bare workflow (fără Expo managed) pentru control nativ asupra modulelor native: HealthKit (iOS) și Health Connect (Android) pentru import automat al datelor de sănătate, notificări locale programate, și cameră pentru primele fotografii. Code-sharing între platforme: 92%. Module native custom: 8 module.
2. Offline-first cu SQLite local + Supabase sync
Toate acțiunile (alăptare, somn, scutec) se salvează instant în SQLite local — zero latență, funcționează offline. Sincronizarea cu Supabase rulează în background când există conexiune. Conflict resolution: last-write-wins pe timestamp client. Utilizatorul nu vede niciodată un loading spinner la acțiuni de tracking.
3. RevenueCat pentru IAP unified
StoreKit (iOS) și Google Play Billing (Android) au API-uri complet diferite. RevenueCat abstractizează ambele: un singur SDK, un singur dashboard, sincronizare entități pe platforme (un utilizator care plătește pe iOS are premium și pe Android dacă folosește același cont). Modelul: freemium cu tracking nelimitat gratuit, premium €4.99/lună pentru sincronizare multi-device și rapoarte PDF.
Provocări întâlnite
Provocarea 1: Notificări locale pe iOS cu permisiuni granulare
iOS 16+ necesită permisiune explicită pentru notificări programate. Utilizatorii de Bebblo sunt adesea somnoroși — UX-ul de permisiune trebuie să explice clar de ce. Soluție: pre-permission dialog custom (înainte de dialogul nativ iOS) care explică: «Bebblo te va notifica când e timpul pentru următoarea alăptare. Zero notificări marketing.» Rata acceptare: 78% (vs 52% înainte).
Provocarea 2: Sincronizare multi-device fără cont obligatoriu
Mulți utilizatori nu vor crea cont. Soluție: modul guest cu stocare locală doar (SQLite, fără sync). Pentru sync multi-device: cont opțional cu email magic link (fără parolă). Upgrade de la guest la cont păstrează toate datele locale prin migrare automată la prima sincronizare.
Provocarea 3: Revizuire App Store cu HealthKit
Apple rejectă aplicațiile care folosesc HealthKit fără justificare clară a utilizării datelor. Soluție: descriere precisă în App Review Notes, afișare disclosure în-app înainte de activare, și garantarea că datele HealthKit nu părăsc device-ul (nu se trimit la server). Approvare din prima încercare.
Rezultate măsurate
Lecții pentru proiecte similare
- Offline-first cu SQLite local e singurul mod de a livra o experiență fără latență pentru aplicații de tracking. Nicio sincronizare cloud nu bate un query SQLite local sub 50ms.
- Pre-permission dialog înainte de dialogul nativ dublează rata de acceptare a notificărilor pe iOS. Contextul contează mai mult ca design-ul.
- RevenueCat elimină 90% din complexitatea IAP cross-platform. Nu construi propriul layer de billing — Apple și Google îl vor schimba.
- Guest mode fără cont obligatoriu crește retenția D1 cu aproximativ 35%. Conversion la cont vine natural când utilizatorul vrea sync.
- HealthKit/Health Connect necesită App Review documentation detaliată. Pregătește disclosure în-app și note de review clare din prima zi.
«Bebblo a ajuns la 4.8 stele în App Store cu peste 1.000 de rating-uri. Părinții folosesc aplicația la 3 dimineața — fără latență, fără reclame, fără fricțiune. Faintech a înțeles exact ce înseamnă UX pentru un utilizator epuizat.» — Eduard Gridan, founder Bebblo