Case Study
Best Buddy
A Two-Sided Pet Care Marketplace
Flutter · iOS & Android

Best Buddy connects pet owners with verified pet sitters for boarding, home care, and dog walking. Built on Flutter for iOS and Android, delivered for a client serving the EU pet care market.
The Challenge
Build a production-ready marketplace where one account can operate as both an owner and a sitter, with real-time booking, secure payments, identity verification, and live location tracking during walks, working reliably online and offline.
Inside the App




What I Built
Flutter side · backend handled separately
Dual-role architecture
One account switches instantly between Owner and Sitter views, each with its own homepage, dashboard, and navigation.
Onboarding & authentication
Email/password plus Google and Facebook sign-in, password recovery, and a guided onboarding flow with completion tracking.
Pet profiles
Multi-pet management with photos, health records, and nutrition tracking, editable offline and synced automatically when back online.
Sitter tools
Service and rate management, a weekly availability calendar with custom time slots, and identity verification through the Veriff SDK.
Booking & payments
Map-based sitter discovery, date and time selection, payment processing, and automatic invoicing with downloadable receipts.
Trust & safety
Ratings and reviews on every profile, an emergency support button, and in-app bug reporting with screenshot upload.
Real-time features
In-app messaging with read receipts, push notifications with deep linking, and live location tracking during walks with background geolocation and map polylines.
Reliability
Offline-first architecture with encrypted local storage, automatic sync on reconnect, and 80%+ test coverage on core flows.
The Outcome
A fully functional, dual-role marketplace app delivered across five build phases, from onboarding through live location tracking, for a client serving the EU pet care market.
Have a project like this?
If you need a production-ready Flutter app that holds up under real users, let's talk.