Tutor App - Online Tutoring Platform
A scalable online tutoring platform with real-time video calls, authentication, tutor verification, and educational content creation.

Timeline
Q2 2024 - Q4 2024
Tech Stack
Flutter (Dart), Firebase Firestore, Firebase Authentication, GetX (State Management), Agora SDK (Real-Time Video Calls), Firebase Cloud Messaging (FCM), Flutter Secure Storage, Isar Database (Local Caching)
Overview
Finding qualified tutors on demand can be challenging for students. The Tutor App provides an efficient way to match students with tutors based on subject expertise, availability, and ratings. With built-in video calls, real-time notifications, session tracking, and a TikTok-style content feature, the platform enhances learning beyond live sessions. Tutors can create short-form educational videos (Reels), allowing students to access bite-sized learning content anytime.
Features
Live Video Sessions
Powered by Agora SDK with tracking and auto-pricing.
Auto-Pricing & Billing
Dynamic pricing based on session duration.
Freeze-Unfreeze Mechanism
Prevents session loss due to connectivity issues.
Real-Time Notifications
Session alerts via Firebase Cloud Messaging (FCM).
Secure Authentication
Uses Flutter Secure Storage for token management.
TikTok-Style Video Feature
Tutors upload educational videos with thumbnails.
Profile Verification
Tutors must submit content and details for admin approval.
Core Component Development
Standardized UI components for scalable development.
Objectives
- β’Develop a scalable architecture using Clean Architecture principles.
- β’Enable seamless real-time video sessions with reliable reconnection handling.
- β’Implement a secure authentication system using Flutter Secure Storage.
- β’Ensure only verified tutors can upload content and accept student session requests.
Challenges & Solutions
Challenge 1
High Firebase Firestore costs due to frequent reads.
Solution
Implemented local caching with Isar to reduce API calls.
Challenge 2
Agora RTM signaling was too costly.
Solution
Switched to Firebase Notifications for signaling, reducing expenses.
Challenge 3
Students losing connection during sessions.
Solution
Developed a freeze-unfreeze mechanism to allow reconnection without losing progress.
Challenge 4
Ensuring only verified tutors can accept sessions.
Solution
Built a profile verification process requiring admin approval.
Results
Increased tutor-student matching efficiency
Reduced Firebase costs using local caching
Session completion rate with enhanced connection handling
Key Learnings
Leading this project reinforced the importance of Clean Architecture and reusable components in scalable Flutter applications. Future improvements will focus on AI-based tutor recommendations and advanced session analytics for personalized learning experiences.