Skip to content

estheticallybawo/echo

Repository files navigation

Echo - AI-Powered Emergency Response System

Mission: Echo uses Gemma 4 AI to provide instant emergency alerts, location sharing, and automated contact notification. Built to honor Iniubong "Hiny" Umoren and prevent tragedies.

Status: May 15 MVP (Feature-complete, design refinement phase)


🚀 Quick Start

Prerequisites

  • Flutter: 3.19+ (install)
  • Dart: 3.3+ (included with Flutter)
  • Git: For version control
  • Figma: For design reference (optional)

1. Clone & Setup

git clone 
flutter pub get

2. Run the App

# Development (Chrome for fast iteration)
flutter run -d chrome

# Mobile (iOS)
flutter run -d ios

# Mobile (Android)
flutter run -d android

3. Key File References

For Developers:

For Designers:

For Project Manager:

  • FEATURES.md - Feature list & MVP scope
  • TASK_TRACKING.md - Sprint tracking & task assignments

Project Structure

lib/
├── main.dart                 # App entry point
├── theme.dart               # Design system (colors, fonts)
├── screens/
│   ├── onboarding_flow.dart  # 7-page onboarding journey
│   ├── emergency_active_screen.dart  # Real-time emergency UI
│   ├── home_screen.dart      # Main dashboard (TODO)
│   └── ...
└── services/
    ├── voice_recognition_service.dart    # (Placeholder)
    ├── location_tracker_service.dart     # (Placeholder)
    ├── gemma_analysis_service.dart       # (Placeholder)
    └── notification_service.dart         # (Placeholder)

Common Commands

Command Purpose
flutter run Run on emulator/device
flutter run -d chrome Web browser (fastest for iteration)
flutter analyze Check code issues
flutter format lib/ Auto-format code
flutter clean Clear build cache
flutter pub upgrade Update dependencies

Getting Oriented

First Time Here?

  1. Read ARCHITECTURE.md (5-10 min overview)
  2. Explore lib/screens/onboarding_flow.dart to see page structure
  3. Check DESIGN_BRIEF.md for color/font usage

Adding a Feature?

  1. Reference the service pattern in ARCHITECTURE.md
  2. Create new service file in lib/services/
  3. Wire into state manager (EmergencyStateManager)
  4. Add UI in appropriate screen file

Fixing a Bug?

  1. Run flutter analyze to spot issues
  2. Check ARCHITECTURE.md workflow section
  3. Test in Chrome first (faster reload cycles)

Design Changes?

  1. Update colors/fonts in lib/theme.dart
  2. Reference DESIGN_BRIEF.md for rules
  3. Run flutter format to keep code clean

Current Template Status

Completed

  • Onboarding flow (7 pages)
  • Emergency active screen (3 WOW widgets)
  • Theme system (colors, typography)
  • Voice phrase recording UI
  • Twitter OAuth template (Page 5)
  • Audio/haptic preview (Page 6)

In Progress

  • Home screen design
  • Contact management UI
  • Settings / preferences

Deferred (Post-Launch)

  • IncidentRepository (local storage)
  • Actual service implementations (voice, location, Gemma)
  • Incident history screen

Documentation

Document For Purpose
ARCHITECTURE.md Developers Service layer, state management, workflows
DESIGN_BRIEF.md Designers Brand guidelines, color system, design philosophy
DESIGN_CHECKLIST.md Designers Screen specs, wireframes, to-do lists
lib/theme.dart Developers Color palette (copy exact values from here)

Issues?

App won't run?

  • flutter cleanflutter pub getflutter run -d chrome

Colors look wrong?

  • Check lib/theme.dart — use EchoColors constants, not hardcoded values

Design questions?

Architecture questions?


Questions? Read the docs first, then ask in Whatsapp Group.

Good luck! 🚀

About

What started out as a quick emergency protocol for reaching family and friends, built for the Gemma 4 Good hackathon by Google and Kaggle is translating into a Open Source exploration into what proactive SafetyTech would look like in the age of AI and Edge computing with Gemma

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors