StudyMate is a high-fidelity, AI-integrated study ecosystem designed for the modern student. It transforms raw academic materials into structured learning paths using state-of-the-art generative AI, robust offline-first architecture, and a premium "Electric Sky" design philosophy.
- Syllabus Gap Analysis: Automatically audit your notes against the official course syllabus. Identify missing topics and calculate your exam-readiness score.
- Genius Summaries: Transform lecture notes into high-level conceptual syntheses with Mermaid.js diagrams for visual reinforcement.
- Adaptive Psychometric Quizzes: Diagnostic tests that evolve with your proficiency, using scenario-based questions to test deep understanding.
- AI Personal Tutor: A proactive assistant that provides daily digests and context-aware study strategies.
- Offline-First Excellence: powered by Hive, the app remains fully functional without an internet connection.
- Smart Sync & Merge: A proprietary conflict-resolution strategy ensures that local changes (like new notes) are never lost, even during delayed Supabase synchronization.
- Atomic Persistence: Every interaction is cached and queued, providing a lag-free experience on any device.
- Dynamic Theming: A bespoke dark/light system with smooth glassmorphism effects and micro-animations.
- Responsive Layouts: Optimized for every screen size, featuring dynamic card scaling and overflow-proof scrollable views.
- Haptic Feedback: Meaningful tactile response for critical actions, enhancing the "premium feel."
| Layer | Technology |
|---|---|
| Frontend | Flutter (Dart) |
| Backend | Supabase (PostgreSQL + Realtime) |
| AI Model | Google Gemini 2.5 Flash-Lite |
| Local Cache | Hive (Binary storage) |
| State | Provider + GetIt |
| Routing | GoRouter |
- Flutter SDK (3.35.7 or higher)
- Supabase Account with a
courses,notes,course_files, andsync_queuetable setup. - Gemini API Key from Google AI Studio.
-
Clone & Install
git clone https://github.com/yourusername/studymate.git cd studymate flutter pub get -
Configuration Edit
lib/core/constants/app_constants.dartwith your credentials:static const String supabaseUrl = 'YOUR_URL'; static const String supabaseAnonKey = 'YOUR_KEY'; static const String geminiApiKey = 'YOUR_GEMINI_KEY';
-
Launch
flutter run
lib/
├── core/ # Infrastructure: Theme, Services (AI, Sync), Router
├── data/ # Domain Layer: Models & Repositories
└── features/ # Presentation Layer: Modular feature folders
├── ai/ # AI Tutoring & Coverage Logic
├── auth/ # Secure Supabase Auth flow
├── courses/ # Curriculum management & Gap Analysis UI
├── flashcards/ # Active Recall engine with dynamic scaling
├── notes/ # Persistent Note Editor & Merging logic
├── planner/ # Milestone tracking & Timeline management
└── quizzes/ # Psychometric Quiz engineAdvancing StudyMate is a community effort. Please follow our Clean Architecture guidelines when submitting PRs.