A unified pet supplies & pharmacy delivery app — built for convenience, designed for pet owners.
PetGo is a cross-platform mobile application that consolidates pet supplies and pharmacy products from multiple stores into one seamless shopping experience. Pet owners no longer need to juggle multiple apps or websites — PetGo brings everything to a single, beautifully designed interface.
The app was designed and developed end-to-end — from initial user research and wireframing in Figma, through to a fully functional Flutter application backed by a real Supabase database.
Pet owners had to visit multiple apps and websites to source food, accessories, and medications for their pets — a time-consuming and frustrating process.
Finding specific pet products across scattered platforms was difficult, with inconsistent search quality and no unified filtering system.
There was no single platform offering consolidated delivery from multiple pet stores and pharmacies, forcing users to place separate orders.
PetGo aggregates products from multiple pet stores and pharmacies into a single, consistent shopping interface — eliminating the need to switch between apps.
A dark-themed, accessibility-first design with clear visual hierarchy, intuitive navigation, and smooth micro-interactions that feel native on both iOS and Android.
Powered by Supabase for authentication, product data, and order management — giving the app production-grade reliability with real-time capabilities.
Built with Flutter for a single codebase that delivers a truly native experience on both iOS and Android without compromising on performance or visual fidelity.
I owned this project end-to-end — from the first user research session to the final production build. This dual role gave me a holistic perspective on the product, allowing design decisions to directly inform development choices and vice versa.
User interviews, competitive analysis, and pain point mapping to understand what pet owners actually need.
User personas, journey maps, and information architecture to frame the core problem and scope.
Low-fidelity wireframes → component library → high-fidelity Figma prototypes with interactive flows.
Flutter implementation, Supabase integration, QA testing, and iterative refinement based on feedback.
Browse pet supplies and pharmacy products from multiple vendors in a single unified interface.
Category-based filtering and keyword search to find exactly what your pet needs in seconds.
Frictionless add-to-cart flow with real-time price calculation and delivery estimation.
Live order status updates from placement to doorstep delivery with push notifications.
Access pet medications and health products alongside regular supplies in one app.
Saved addresses, order history, and personalized recommendations for returning users.
Multi-vendor data consistency
Designed a unified product schema in Supabase that normalises data from different store sources, ensuring consistent UI rendering regardless of vendor.
Complex navigation architecture
Implemented a nested navigator pattern in Flutter with bottom tabs and stack-based sub-routes, keeping state isolated per tab for a native-feeling experience.
Accessibility for diverse users
Applied semantic labels, sufficient colour contrast ratios (≥4.5:1), and scalable text to ensure the app is usable for pet owners of all ages and abilities.
Performance on low-end devices
Used lazy loading, image caching, and const constructors throughout the widget tree to keep frame rates smooth even on entry-level Android devices.
PetGo demonstrates my ability to take a product from zero to a fully functional, production-ready mobile application. The project showcases the intersection of thoughtful UX design and clean Flutter engineering — delivering a real solution to a real problem that pet owners face daily.