DEV Community

Hasibul Hasan
Hasibul Hasan

Posted on

How I Built an AI-Powered Habit Tracker with React Native & Gemini

I'm a solo developer from Bangladesh, and I just shipped HabitFlow — a habit tracker with an AI coach built on Google's Gemini.

Why I built it

I kept losing long streaks when I got sick or busy. Every habit app I tried treated a missed day as failure. So I built one with streak freezes — your streak stays alive on off days.

Then I thought: what if the app could actually coach you? So I added an AI Habit Coach powered by Gemini that analyzes your real completion data and gives personalized advice.

Tech Stack

  • React Native + Expo (managed workflow)
  • Firebase — Auth, Firestore, Analytics
  • Google Gemini Flash — AI coaching
  • RevenueCat — subscriptions
  • Zustand — state management with offline-first persistence

Key Features

  • Daily/weekly habit tracking with streaks
  • Multi-count habits (e.g., "Drink water 8x" with tap-to-increment)
  • AI Coach that knows your actual habit data
  • Time-bound challenges (7-90 days)
  • Focus timer (Pomodoro) linked to habits
  • Calendar heatmap & analytics
  • Streak freezes
  • Decline alerts when consistency drops

Challenges I Faced

  • Firebase JS SDK doesn't support Analytics on React Native — had to use the native @react-native-firebase/app SDK
  • Gemini's Firebase AI SDK uses DOMException which doesn't exist in React Native — switched to REST API
  • Syncing local-first Zustand stores with Firestore real-time listeners without infinite loops

Try it

https://play.google.com/store/apps/details?id=com.hasib.habitflow

Would love feedback from the dev community. What would you add next?

Top comments (0)