Skip to content

ErrVoid/FemWise

Repository files navigation

🌸 Femwise – AI-Powered Period & Health Tracker

Femwise is an AI-powered menstrual and female health tracking app designed to make health insights simple, reliable, and accessible. It predicts upcoming periods, provides cycle insights, and gives suggestions on when to consult a doctor – all powered by AI and connected with a real-time database.


🔐 Configuration Setup

IMPORTANT: This repository does not include sensitive API keys for security reasons. Before running the app, you need to set up your own Firebase and Gemini API credentials.

Step 1: Firebase Setup

  1. Go to Firebase Console
  2. Create a new Firebase project or use an existing one
  3. Add an Android app to your Firebase project
  4. Download the google-services.json file
  5. Copy android/app/google-services.json.example to android/app/google-services.json
  6. Replace the placeholder values in android/app/google-services.json with values from your downloaded file
  7. Copy lib/firebase_options.dart.example to lib/firebase_options.dart (if it doesn't exist)
  8. Update lib/firebase_options.dart with your Firebase configuration:
    • apiKey: Your Firebase API key
    • appId: Your Firebase app ID
    • messagingSenderId: Your messaging sender ID
    • projectId: Your Firebase project ID
    • storageBucket: Your Firebase storage bucket

Step 2: Gemini API Setup

  1. Visit Google AI Studio
  2. Create a new API key for Gemini API
  3. Store your Gemini API key in Firebase Firestore:
    • Go to your Firebase Console → Firestore Database
    • Create a collection named config
    • Add a document with the field geminiKey containing your API key

OR replace the placeholder YOUR_GEMINI_API_KEY_HERE in lib/main.dart:1479 with your actual key (not recommended for production)

Security Notes

⚠️ NEVER commit your actual API keys to version control ⚠️ The files lib/firebase_options.dart and android/app/google-services.json are now gitignored ⚠️ Use the .example files as templates for your own configuration


✨ Problem It Solves

Many women struggle with:

  • Uncertainty about cycles – not knowing exactly when the next period will come.
  • Limited health insights – most trackers just mark dates without telling what’s happening inside the body.
  • Fragmented experience – switching between apps for tracking, reminders, and health tips.

Femwise solves this by combining AI insights + simple tracking in one place. It doesn’t just remind you of dates – it helps you understand your body better and makes health management safer and easier.


🔑 Key Features

  • 📅 AI Period Prediction – predicts next period dates with higher accuracy.
  • 💡 Body Condition Insights – tells what’s happening in different phases of the cycle (fertile, luteal, period, etc.).
  • 🏥 Health Guidance – alerts if irregularities occur and suggests when to consult a doctor.
  • ☁️ Firestore Database – secure, real-time storage for user data and logs.
  • 🎨 Clean UI – simple onboarding and modern interface designed for usability.

🛠️ Tech Stack

  • Frontend: Flutter, dart language and kotlin (mockup/prototype for now)
  • Backend & Database: Firebase Firestore
  • AI Integration: AI Gemini APIs for health insights & predictions
  • Track Selected: 🚀 Windsurf – AI-powered IDE to speed up building and debugging

🧩 Challenges I Ran Into

There were many, but the hardest part was connecting Firestore and handling logic around it:

  • The onboarding flow often got stuck because Firestore didn’t give access properly.
  • Sometimes it didn’t even show what was wrong, which made debugging painful.
  • As a medical student, I found the logic simple once I reviewed it carefully – but setting up the database and rules was a real nightmare at first.

Eventually, I fixed it by reviewing permissions, restructuring the onboarding flow, and leaning on Windsurf AI assistance to debug quickly.


🚀 Why Windsurf

As a medical student, I don’t have a deep programming background. I rely heavily on AI tools to build faster and avoid getting lost in bugs. Windsurf gave me the perfect AI coding partner – it let me focus on solving the actual problem instead of spending hours fixing syntax or configuration issues.

This way, I could put my energy into the medical + problem-solving side while still shipping a working AI prototype.


📌 Future Scope

  • 📊 Deeper AI analysis of patterns (irregular cycles, lifestyle factors).
  • 🌐 Multi-language support for accessibility.
  • 🔔 Smart reminders for medication, ovulation, and doctor visits.
  • 🤝 Community features – safe space for women to share and learn.

🏆 What I Learned

  • How to integrate AI into real-world health applications.
  • Setting up and debugging Firestore database connections.
  • Balancing between being a medical student and a builder – using AI to bridge the gap.
  • Importance of building usable, practical tools over just mockups.

📸 Screenshots

Here’s a look at the Femwise app in action:

Onboarding On boarding Home Screen Mood Body detail
Home1 Home2 Home3 Home4 Home5

📬 Contact

👤 Tanish Kumar
🎓 Student at PU, pursuing BDS
💡 Interested in problem solving & app building
📧 kumartanish011@gmail.com
🔗 https://github.com/ErrVoid


About

Femwise is an AI-powered menstrual and female health tracking app designed to make health insights simple, reliable, and accessible.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages