Skip to content

Motherly is an AI-powered pregnancy companion that delivers personalized prenatal guidance, progress tracking, and wellness support through an intuitive Flutter experience.

Notifications You must be signed in to change notification settings

SilverShadow123/motherley

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Motherly

Motherly is an AI-powered pregnancy companion that empowers expectant parents with personalized insights, daily guidance, and mental wellness support throughout the pregnancy journey. Built with Flutter, the app blends medical best practices with conversational AI to improve prenatal care access and create a calm, informed experience from week one to delivery day.

Table of Contents

Features

  • Due date & trimester tracking – Calculate expected delivery dates from the last menstrual period and monitor weekly progress using lib/calculation/date_calculation.dart.
  • AI pregnancy chatbot – Chat with an always-on assistant backed by Google Gemini (flutter_gemini) to ask health, nutrition, and wellness questions (lib/screens/ai_chatbot.dart).
  • Baby kick counter – Log fetal movement patterns and review historical trends stored locally via shared_preferences (lib/screens/baby_kick_counter_screen.dart).
  • Nutrition discover hub – Explore month-by-month dietary guidance sourced from curated JSON content (assets/motherly_monthly_data.json) rendered in lib/screens/discover_screen.dart.
  • Personalized daily checklist – Stay organized with customizable prenatal tasks and reminders within the HomeScreen module.
  • Emergency support directory – Access curated helplines and professional contacts from the HelplineScreen.

Tech Stack

  • Framework: Flutter 3.x, Dart
  • AI Integration: flutter_gemini for Gemini 1.5 models
  • State & Storage: shared_preferences for persistent local storage
  • UI Components: dash_chat_2, intl, cupertino_icons
  • Platforms: Android, iOS, Web (Flutter supported targets)

Architecture Highlights

  • Modular screens: Feature-specific screens under lib/screens/ to keep business logic isolated.
  • Reusable widgets & utilities: Shared helpers in lib/widgets/ and lib/utils/ for styling and formatting.
  • Asset-driven content: Nutrition and educational content delivered from JSON assets for offline access.
  • AI abstraction: Gemini initialization occurs in lib/main.dart and Gemini.init is invoked once before bootstrapping the app entry point Motherley (lib/app.dart).

Getting Started

Prerequisites

  • Flutter SDK >=3.5.2
  • Dart SDK bundled with Flutter
  • Android Studio, VS Code, or compatible IDE
  • Xcode (for iOS builds)

Installation

git clone https://github.com/<your-org>/motherly.git
cd motherly
flutter pub get

Configuration

  1. Create a Gemini API key from the Google AI Studio.
  2. Copy lib/models/const.example.dart to lib/models/const.dart (if not already present) and paste your key:
    const String GEMINI_API_KEY = "YOUR_KEY_HERE";
  3. Never commit real keys—use local .env management or secure secret stores.

Usage Guide

Run the application on an emulator or device:

flutter run

Core Flows

  • Onboarding: Enter the mother’s name and last menstrual period to personalize insights (FirstDayOfLastMenstrualPeriodDate).
  • Home dashboard: Review due-date timeline, wellness tips, and customizable checklist items (HomeScreen).
  • AI Conversations: Ask real-time questions about symptoms, nutrition, or emotional support within the AI chat interface (AIChatBot).
  • Activity Tracking: Log baby kicks and monitor historical trends to share with a healthcare provider (BabyKickCounterScreen).
  • Discover Hub: Browse trimester-based nutritional recommendations and educational content (Discover).

Key Screens

  • Splash & Onboarding: lib/screens/splash_screen.dart, lib/screens/motherNameScreen.dart
  • Main Navigation: lib/screens/bottom_navigation_bar.dart
  • Support Services: lib/screens/help_line.dart

Data Privacy

  • No user data leaves the device except Gemini queries initiated by the user.
  • Health logs (kick counts, checklists) persist locally via shared_preferences and can be cleared by reinstalling the app.
  • Users should consult medical professionals and not treat AI responses as medical advice.

Roadmap

  • Expand AI prompt engineering for symptom triage.
  • Add appointment reminders synchronized with device calendars.
  • Introduce partner access and collaborative journaling.
  • Localize experience for additional languages.

Contributing

Contributions are welcome! Please open an issue to propose changes. For pull requests:

  • Fork the repository
  • Create a feature branch (git checkout -b feature/your-feature)
  • Commit with clear messages (feat: add hydration reminder)
  • Open a PR describing the change and testing steps

License

Distributed under the MIT License. See LICENSE (to be added) for details.

About

Motherly is an AI-powered pregnancy companion that delivers personalized prenatal guidance, progress tracking, and wellness support through an intuitive Flutter experience.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published