🤖

NORA AI

AI-Powered Personal Assistant

FlutterOpenAIElevenLabsSocket.IOFirebase

Overview

Built an intelligent AI-powered personal assistant application that helps users manage their daily life through natural voice and text conversations. Nora acts as a smart companion, handling reminders, notes, events, and providing personalized assistance while learning user preferences over time.

Key Features

🤖

Conversational AI Assistant

  • Real-time AI chat system with natural language understanding
  • Context-aware responses that understand user intent
  • Message feedback system for continuous AI improvement
🎙️

Voice-First Experience

  • Advanced speech-to-text for hands-free voice commands
  • Dual TTS engines (OpenAI TTS & ElevenLabs) with emotional voice synthesis
  • Real-time audio feedback and waveform visualization

Smart Alarm & Reminder System

  • Intelligent alarm scheduling with platform-native integration
  • iOS AlarmKit & Android AlarmManager support
  • Background task handling for reliable alarm triggers
📅

Calendar & Event Management

  • Native device calendar sync for seamless event management
  • Event creation through natural conversation
  • Smart date/time parsing from natural language inputs
📝

Notes & Memory System

  • Note-taking with categories for organized storage
  • Quick note capture through voice or text
  • Search and retrieval for easy access
💪

Fitness & Wellness Tracking

  • Fitness tracking module for health monitoring
  • Personalized fitness recommendations
  • Goal-based tracking and progress insights
🔔

Real-Time Notifications

  • Firebase Cloud Messaging for instant alerts
  • Foreground/background notification handling
  • Deep linking for seamless navigation
🌐

Personalization & Accessibility

  • Dynamic theming with Dark/Light mode switching
  • Multi-language support with real-time switching
  • Responsive UI with smooth animations

Tech Stack

FrontendFlutter, Dart, GetX
Real-TimeSocket.IO
AI/VoiceOpenAI TTS, ElevenLabs, STT
BackendFirebase (Auth, FCM, Functions)
NativeiOS AlarmKit, Android AlarmManager
ArchitectureClean Architecture, Feature-First

Architecture Highlights

Clean Architecture

Separated domain, data, and presentation layers for maintainability and testability

Feature-First Structure

Organized codebase by features (Chat, Alarms, Notes, Events) for scalable development

Reactive State Management

GetX for efficient state management and dependency injection

Offline-First Approach

Local caching for core features to ensure app usability without connectivity