Habits Sprout: Gamify Your Growth 🌱

Inspiration

As hackers, we spend long hours in front of our computers, often forgetting to prioritize our physical and mental health. That's why I created Habits Sprout – an app that rewards you for building good habits and gamifies your progress. It’s time to level up your life and health with every task you complete!

What It Does

Habits Sprout allows you to:

  • Set personal goals and create new habits each day.
  • Earn points by completing tasks and sticking to your habits.
  • Use your earned points to unlock unique Pokémon, which are showcased on your profile as rewards.

How We Built It

The app is built primarily with Flutter for the front end and Firebase for the backend.

  • Flutter: Used for the UI and front-end operations like creating habits, rewarding points, selecting rewards, and displaying progress.
  • Firebase & Firestore: Handle authentication and store user data in the backend database for a seamless experience.

Challenges We Ran Into

We faced several challenges:

  • State Management: We ran into issues with data duplication, which we tackled by adding logic to manage state properly.
  • Data Model: Designing an efficient data model was tricky, but after iterations, we optimized it for performance.

Accomplishments We're Proud Of

  • Successfully integrated Firebase for authentication and backend data storage.
  • Designed an intuitive UI that balances aesthetics and functionality.
  • Gamified the user experience, making it rewarding and fun to build good habits.

What We Learned

  • Flutter State Management using Provider and Consumer.
  • Querying Firestore for fetching and storing data.
  • Implementing Firebase Authentication to manage user sign-ins securely.

What's Next for Habits Sprout?

We’re not stopping here! The next steps include:

  1. Reminders & Notifications: Keep users on track with timely reminders.
  2. Haptic Feedback: Add haptic feedback when users complete a task to enhance the experience.
  3. Optimizing Data Queries & Caching: Improve app performance by optimizing data retrieval and adding efficient caching.

Built With

Share this project:

Updates