A beautiful, safe, AI-powered women’s health platform — crafted for clarity, comfort, and care.
HerFlow is a holistic, safe, emotionally comforting women’s wellness PWA that blends:
- cycle intelligence
- a gentle, feminine design
- an empathetic AI (Woomania)
- anonymous, low‑toxicity community features
- radical privacy and client-first data policies
- India-first wellness guidance and product recommendations
Every insight, every word, and every interaction is designed to make people feel: understood, supported, and safe. HerFlow avoids clinical coldness — it’s a soft, reliable companion that respects privacy and dignity.
-
Soft Technology
- Feather-light pink themes, rounded corners, calming micro-interactions.
- Gentle wording and empathy-first UX to reduce stress and triggers.
-
Radical Privacy
- No tracking. No selling. No hidden analytics.
- Firestore secured with strict rules; encryption in transit.
- User-controlled export/delete and optional anonymity for community posts.
-
Science with Simplicity
- Luteal-phase-aware ovulation prediction.
- Pattern detection from logs.
- Clear, intuitive charts and human-friendly explanations.
-
India-First Experience
- Local product recommendations, cultural sensitivity, regional content priorities.
- Cycle intelligence: next period, ovulation window, phase today, averages, irregularity detection.
- Symptom & mood logging with trend graphs.
- Flow intensity & symptom correlations.
- Woomania — an empathetic AI companion (non-medical).
- Anonymous, gentle community with moderation tools and AI-drafted post assistance.
- Offline-first PWA: add-to-home-screen, splash screens, fast startup.
- Security-first: strict Firestore rules and data minimization.
- Tone: empathetic and non-judgmental.
- Purpose: explain, comfort, draft posts, clarify cycle science.
- Safety: automatic medical disclaimers; explicit "not medical advice".
- Architecture: AI calls proxied via server/cloud functions to avoid exposing keys client-side.
- Anonymous posting and replies.
- Low-toxicity UI patterns (e.g., soft prompts, gradual disclosure).
- Secure deletion and moderation workflows.
- AI-assisted draft and content-sanitisation options.
- Ready kit suggestions: pads, tampons, pain-relief patches, wipes, emergency underwear.
- India-specific product recommendations and suppliers (e.g., Nua, Niine, Sirona, Boondh).
- PCOS & thyroid awareness cards with gentle disclaimers.
- Data stays in Firebase and is never sold or shared without explicit consent.
- Firestore rules enforce least privilege access. Use the emulator for testing rules.
- Zod validation on both client and server to avoid malformed writes.
- Audit logs for admin actions and opt-in telemetry (if any) must be explicit.
- Next.js (App Router)
- TypeScript
- Tailwind CSS + shadcn/ui
- Firebase (Auth, Firestore, Storage)
- Genkit (Gemini 2.5) — Woomania AI
- React Hook Form + Zod
- next-pwa
src/
├── app/ # App Router pages
├── components/ # UI components
├── ai/ # Woomania AI flows
├── firebase/ # Firebase config & providers
├── hooks/ # Custom hooks
├── lib/ # Utilities (prediction, analytics)
├── locales/ # i18n bases
└── context/ # Providers
public/
└── readme/ # README screenshots & banners
firestore.rules # Firestore security rules
-
Clone
git clone https://github.com/Iankitsinghak/HerFlow.git cd HerFlow -
Install
npm ci
-
Copy env
cp .env.example .env.local # Fill in the environment variables (see below) -
Run dev
npm run dev
- Default local URL: http://localhost:3000 (or change PORT env var if your setup uses a different port)
-
Emulators (recommended for testing rules)
firebase emulators:start --only firestore,auth
Add to .env.local (do NOT commit):
NEXT_PUBLIC_FIREBASE_API_KEY=
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
NEXT_PUBLIC_FIREBASE_PROJECT_ID=
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
NEXT_PUBLIC_FIREBASE_APP_ID=
FIREBASE_PRIVATE_KEY= # for server-side admin operations (keep secret)
GENKIT_API_KEY= # or GEMINI_KEY depending on provider
Use GitHub Secrets for CI/CD.
Before PR:
- Fork -> feature branch naming: feat/ or fix/
- Run tests & lint:
npm run lint && npm run test - Validate Firestore rules in emulator
- Add unit tests for new logic
Release:
- Bump semver in package.json
- Update CHANGELOG.md
- Tag release and create GitHub Release
- Deploy (Vercel / Firebase Hosting) from main
- Push notifications
- Mood journal & deeper mood analytics
- Encrypted export/import of user data
- AI-powered personalized insights
- Multi-language support (Hindi, Bengali, Tamil, Marathi)
- Doctor-facing exports & optional clinical summaries
Crafted with calmness by Ankit Singh (Iankitsinghak).
“Here’s to cycles understood, stories shared, and wellness made gentle.”
MIT — see LICENSE file.