A gamified mentorship platform built with Flutter.
amMentor is a Flutter-based mobile application that transforms traditional mentorship into an engaging, gamified experience. The platform enables mentees to progress through curated learning tracks while being guided by experienced mentors. The system emphasizes accountability, growth, and engagement through features like leaderboards, task management, and achievement recognition.
The application provides distinct interfaces for two primary user roles:
- Mentors: Experienced guides who review tasks and support mentees
- Mentees: Learners who complete tasks across various tracks to gain points and recognition

Feature | Description |
---|---|
Role-Based Access | Different interfaces for mentors and mentees with separate navigation flows |
OTP Authentication | Email-based one-time password verification for secure login |
Track-Based Learning | Domain-specific learning paths (e.g., AI, Web Dev) with track selection |
Leaderboard System | Competitive ranking based on points and achievements with animated display |
Task Management | Assignment, submission, and review of learning tasks |
Profile Management | User profiles with progress tracking and statistics |
The application implements a role-based user flow, starting from common authentication and diverging into role-specific experiences:

The amMentor platform uses Flutter's cross-platform capabilities to target both Android and iOS environments, with consistent styling through a centralized theme configuration. The application architecture supports extension through:
- Additional Tracks: New learning paths can be added to the track selection system
- Enhanced Gamification: The leaderboard and point system can be expanded
- New Task Types: The task management system can incorporate different types of assignments
This project also includes:
- Web Version — Built with NextJs.
- Common Backend — Powered by Django and REST API.
All platforms share the same backend for authentication, track management, leaderboard syncing, and progress tracking.
-
Fork this repository
-
Clone your fork locally:
git clone https://github.com/your-username/amMentor.git cd amMentor
-
Install dependencies:
flutter pub get
-
Create a new branch:
git checkout -b your-feature-name
- UI enhancements (e.g., animations, responsiveness)
- New features (e.g., badges, notifications)
- Bug fixes
- Test cases
- Code refactoring and lint cleanup
- Improving documentation (README, onboarding guide, etc.)
-
Use Riverpod for state management
-
Follow Flutter/Dart best practices and format the code with:
dart format .
-
Keep UI and business logic seperated
-
Use meaningful commit messages :
feat: add track selection UI fix: leaderboard animation glitch
-
Push you changes to your fork :
git push origin your-feature-name
-
Open a Pull Request (PR) against the main branch.
-
Provide a clear description of:
- What your PR does
- Related issue (if any)
- Screenshots or screen recordings (if it’s UI related)