Inspiration

Personal growth often feels lonely, and the tools we use reflect that. I was juggling several apps: one for personal habits, a group chat for challenges with friends, and another for relationship milestones. That app fatigue is why I built Douri.

I wanted self-improvement to feel like a shared journey. Instead of a list of checkboxes, Douri shows a visual metro map where personal goals (Me), social challenges (Together) and a private couple space (Us) live in one place and keep you motivated.

How I built it

To ship a complete app in 4 weeks, I picked tools that let me move fast:

  • Mobile app: React Native and Expo, with a custom design system, an animated JourneyPath, and a flame mascot that reacts to your progress for the day. Available in English, Spanish and French.
  • Backend: Supabase (PostgreSQL). The app talks to the database directly, protected by row-level security, with triggers and edge functions for the logic that must never be skipped, like completing goals and enforcing plan limits.
  • Monetization: RevenueCat handles subscriptions in the Play Store, plus a web-to-app funnel with Stripe checkout. After paying on the web, users open a redemption link and Premium unlocks on their account in the app.
  • Engagement: OneSignal push notifications for daily reminders and updates from your partner and groups.
  • Web: a static landing page and legal pages hosted on Cloudflare.

Challenges I faced

  • Aggressive timeline: building three product layers (personal goals, social challenges and a couple space) in one month meant cutting anything that wasn't essential to the core experience.
  • Offline reliability: a check-in has to work at the gym with no signal. The app keeps its data cached on the device and queues updates to sync later, without creating duplicates when a request is retried.
  • Balancing privacy: Douri handles public challenges and very personal couple memories. Keeping "Us" fully private while "Together" stays social required careful database policies.
  • Store reviews: navigating different review timelines across platforms is an ongoing challenge. Douri is live on Google Play, and the iOS version is submitted and waiting for Apple's approval.

What I learned

  1. The right tools buy you time: letting Supabase handle auth, data and security let me focus on the experience instead of servers.
  2. Subscriptions don't have to be hard: RevenueCat unified store and web purchases behind a single "Premium" entitlement, which saved weeks of work.
  3. Engagement is about timing: a well-timed notification, like telling you your partner just completed a goal, is one of the strongest reasons to come back to the app.

Built With

Share this project:

Updates

Submission history