Overview
PocketClass is a Canadian marketplace platform connecting students with freelance instructors across sports, music, and the arts. I contributed to the backend and real-time features, building the Socket.io chat layer, booking system, and Stripe payment integration. The platform streamlines everything from instructor discovery to secure payment and session scheduling into one seamless experience.
Key Features
Instructor Discovery
Searchable directory of verified instructors filterable by discipline, location, price, and availability. Profile pages with ratings and session history.
Real-Time Messaging
Socket.io chat between students and instructors for pre-booking questions and session coordination. Message history persisted in MongoDB.
Calendar Booking
Availability-aware scheduling with conflict detection. Students see only open slots and receive instant confirmation on booking.
Stripe Payments
Secure session payments with automatic instructor payouts via Stripe Connect. Refund handling built in for cancellations.
Review System
Post-session star ratings and written testimonials build instructor reputation and help students make informed booking decisions.
Push Notifications
Firebase Cloud Messaging delivers booking confirmations, new message alerts, and session reminders to both students and instructors.
The Challenge
Synchronising calendar availability in real time across concurrent sessions was complex — two students could attempt to book the same slot simultaneously. I implemented a reservation lock pattern using MongoDB transactions to hold a slot for 5 minutes during checkout, releasing it automatically if payment didn't complete.
Outcome
100% client satisfaction rating. Platform actively serving students and instructors across Canada. Real-time chat and booking features running with no reported downtime post-launch.
Interested in working together?
I build projects like this for clients across Australia and globally. Get in touch to discuss your idea.