Tutorify – Hyper-Local Learning Platform
Executive Summary
A cross-platform mobile application developed with React Native (Expo) and Firebase that connects students with expert tutors in their vicinity. The app features a real-time geolocation system using Mapbox, secure user authentication, and instant push notifications. I engineered the entire solution from scratch, handling the mobile architecture, NoSQL database design, and the deployment pipeline via EAS (Expo Application Services).
Technical Context
Project Overview
Tutorify connects the "EdTech" gap by focusing on hyper-local interactions. While many platforms offer online courses, finding a tutor for in-person or same-time-zone assistance remains difficult. Tutorify solves this by allowing students to discover verified tutors nearby, view their expertise on an interactive map, and connect instantly. As the sole developer, I built the mobile application, the backend infrastructure, and the promotional web landing page.
The Problem
Developing a location-based service comes with strict technical requirements that standard CRUD apps do not face:
- Geolocation Complexity: Accurately rendering thousands of user points on a map without causing the mobile device to lag or overheat.
- Native Module Management: Integrating heavy mapping libraries (like Mapbox) into the Expo managed workflow is notoriously difficult, often requiring custom development clients.
- Real-Time Discoverability: Users need to see updated tutor availability and location data without constantly refreshing the app.
The Solution: Serverless Mobile Architecture
I architected a "Serverless" solution to keep the app lightweight and scalable:
- React Native & Expo (EAS): I chose React Native for cross-platform compatibility (iOS/Android). To handle the native Mapbox dependencies, I utilized EAS Build (Expo Application Services) to create a custom development client, bypassing the limitations of the standard Expo Go app.
- Mapbox Integration: Instead of simple list views, I implemented an interactive Mapbox interface. I optimized performance by clustering data points (tutors) at high zoom levels to prevent rendering bottlenecks.
- Firebase Backend:
- Auth: Handled secure email/password and social logins.
- Firestore (NoSQL): I designed a schema that allows for fast filtering of tutors by "Subject" and "Location."
- Cloud Messaging: Integrated push notifications to alert tutors immediately when a student sends a request.
Key Features
- Interactive Tutor Map: A drag-and-zoom map interface that shows active tutors in the user's radius.
- Role-Based Profiles: Distinct onboarding and dashboard flows for "Students" (seeking help) and "Tutors" (offering help).
- Advanced Search: Users can filter results by specific subjects (e.g., "Mathematics," "Physics") while maintaining the location context.
- Seamless Onboarding: A guided, step-by-step registration process to ensure high user retention.
Tech Stack
- Mobile Framework: React Native (Expo)
- Native Build Tool: EAS (Expo Application Services)
- Maps & Location: Mapbox SDK
- Backend & Database: Google Firebase (Auth, Firestore, Storage)
- UI Library: React Native Paper
Outcome
Tutorify represents a successful implementation of complex native features (Maps/Location) within a modern JavaScript environment. By leveraging Firebase, I eliminated the need for server maintenance, allowing the project to scale automatically. The final build provides a smooth, "Uber-like" experience for finding educational help.
Building at the speed of thought
Interested in achieving these levels of performance and design for your next asset?