Inspiration

Modern life is overwhelming, and many productivity apps feel complex and discouraging.
One Step Today was inspired by the idea that real change happens through small, consistent actions.
Instead of focusing on long-term pressure, the app encourages users to focus on improving just one step each day.

What it does

One Step Today helps users create, track, and reflect on daily self-improvement steps.
Users can:

  • Create and manage daily steps
  • Track progress visually
  • Receive reminders
  • Unlock Pro features with a lifetime purchase

How we built it

The app is built using modern Android development practices:

  • Kotlin with MVVM architecture
  • Room database for offline persistence
  • Firebase for analytics, crash reporting, and performance monitoring
  • RevenueCat for managing in-app purchases and entitlements
  • Google Play Billing for secure payments

RevenueCat handles purchase validation, entitlement management, and restore flows, allowing us to focus on product experience instead of billing complexity.

Challenges we ran into

  • Migrating to the latest RevenueCat SDK (v9.x)
  • Handling sandbox testing and refund edge cases
  • Ensuring entitlement state stays consistent across app restarts and reinstalls
  • Correctly configuring Play Console data safety and licensing tests

Accomplishments that we're proud of

  • Clean and scalable billing implementation using RevenueCat
  • Smooth lifetime Pro purchase flow
  • Offline-first design with Room
  • Clear and minimal UI focused on habit consistency
  • Full Play Console compliance (Data Safety, Privacy Policy, Billing)

What we learned

  • Best practices for subscription and entitlement management
  • How RevenueCat simplifies complex billing logic
  • How to properly test purchases using Google Play License Testing
  • Importance of transparent data safety disclosures

What's next for One Step Today

  • Cloud sync for cross-device access
  • Subscription-based plans in addition to lifetime
  • More detailed progress analytics
  • Personalized reminders and insights

Built With

  • android
  • android-studio
  • firebaseanalytics
  • firebasecrashlytics
  • firebaseperformancemonitoring
  • github
  • googleplaybilling
  • konfetti
  • kotlin
  • mpandroidchart
  • mvvm
  • mvvmarchitecture
  • revenuecatsdk
  • roomdatabase
  • xml
Share this project:

Updates