OnTheBag — Golf Caddie Marketplace Mobile App

OnTheBag

OnTheBag — Golf Caddie Marketplace Mobile App

Built a complete Flutter mobile application connecting golfers with professional caddies—featuring real-time booking, deep linking, push notifications, transactional email, and a dual-sided marketplace serving both golfers seeking course expertise and caddies building their reputation.

FlutterDartSupabase (PostgreSQLAuthStorageEdge Functions)PostGISOneSignalResendVercelDeep Linking (Universal Links / App Links)Provider (State Management)Google OAuth

About This Project

OnTheBag set out to solve a fragmented problem in golf: golfers playing destination courses or even their home club often struggle to find qualified caddies, while caddies lack a platform to build their reputation, set transparent tip expectations, and get discovered by new clients. The founder wanted a production-grade mobile app that could scale to millions of users—no shortcuts, no hardcoded data, and a modular architecture that could evolve with the business. What I Built I developed the complete iOS mobile application (Android-ready) using Flutter with Supabase as the backend. The app serves two distinct user types—golfers and caddies—each with tailored experiences: For golfers: A caddie search and discovery system with fuzzy search by name or course, booking flow (course → caddie → date → time → request), booking management with status tracking, and a review system with category-specific ratings (attentiveness, green reading, club selection, course knowledge, professionalism). For caddies: A comprehensive onboarding flow including course selection with approval tracking, experience level setting, tip preference configuration with payment method options, and availability calendar management. Caddies can invite golfers to leave reviews via shareable deep links. The backend integrates Supabase for authentication (including Google OAuth), PostgreSQL with PostGIS for location-based course search, and real-time booking updates. I built a complete transactional email system using Resend with professionally designed templates for welcome emails, booking confirmations, reminders, and review requests—all supporting deep links back into the app. Key Challenges Solved Deep linking was particularly complex—the app needed to handle links from emails, push notifications, and shared invites that route users to specific booking details or review screens. I architected a separate web repository (onthebag-links) deployed on Vercel to handle universal link routing across iOS, Android, and web fallbacks. The caddie search required custom Supabase database functions to handle fuzzy matching across caddie names, course names, and locations while avoiding column ambiguity issues and returning deduplicated results with accurate course counts and ratings. I also built the marketing website at onthebag.co using Flutter Web with clean URLs, responsive design, and proper SEO meta tags—all deployed via Vercel with GitHub auto-deployment. Results The app launched on the iOS App Store as a complete, production-ready marketplace. The architecture is fully modular with reusable widgets, services, and providers that can be extended for future features. The codebase required minimal debugging due to our approach of getting it right the first time rather than taking shortcuts—every feature was built with full error handling, loading states, and proper data flow from day one.

Interested in working together?

I'm always open to discussing new projects and opportunities.

Get in Touch