
My Vet App
Scope of Work
Year
Project under

Overview
My Vet App is a mobile app concept that gives pet owners one place to book vet services, consult a vet online, and read verified pet-health articles. We built it as our final project for the Rakamin Academy UI/UX Designer Bootcamp (Batch 8): a team of four, about two months, from first survey to tested prototype.
Challenge
Pet owners want the best care for their pets, but finding it takes more effort than it should.
Clinics are far away, and owners have little time to search.
Google results show outdated opening hours, ratings that don't match, and vets whose credentials are hard to check.
Owners end up asking strangers on social media for advice.

Pain points most pet owners have found on social media
Opportunity
Most pet-care apps are add-ons to human health platforms, so few are built around pet owners. That left room for an app that brings booking, online consultation, and trusted information into one place.
The design question
How might we make it easier for pet owners to get efficient, accessible vet services?
Scope
User research, personas, information architecture, user flows, wireframes, high-fidelity prototype, and two rounds of usability testing over about two months.
Tools used: Miro, Whimsical, Figma, Maze.
Collaboration
Collaborated with 3 other designers, working alongside our day-to-day commitments.
The Process
Validating the problem
The problems we had read about weren’t enough to design from, so we went to pet owners. A survey of 27 cat and dog owners (44% employees, 33% students) pointed to the same obstacles: clinics too far away, no time, and inaccurate diagnoses. Interviews with six owners went deeper:
Information: Reliable details were hard to find on Google, with outdated hours, mismatched ratings, and doubtful vet credentials.
Convenience: Pick-up and drop-off for non-medical needs got a positive response.
Content: Short, verified educational content did too.
We also benchmarked Halodoc, Pawlyclinic, Hewania, and VitusVet in a feature comparison matrix to find the gaps.
![]() | ![]() | ![]() |
Questionnaire participants | Interview findings | Feature comparison matrix |
Turning findings into a focus
We grouped everything in a Miro affinity map, then turned the clusters into five “How Might We” questions. They covered finding the right vet and clinic, getting care without time constraints, educating owners, moving pets to the clinic, and paying with ease. Two personas, “The Busy One” and “The Paranoid One,” gave us the users to design for.
![]() | ![]() | ![]() |
Affinity map | User Persona - The Busy | User Persona - The Paranoid |
Deciding what goes in the MVP
We brainstormed features, then voted on each using a high/low impact-and-effort matrix. Six made the MVP:
Book and get there: Vet service booking and pet pick-up/drop-off.
Trust the vet: Ratings and reviews, and vets classified by animal specialty.
Get help fast: Online chat consultation and nearby vet locations.
![]() | ![]() |
Feature brainstorm | Feature prioritisation matrix |
Structure before screens
We mapped two core flows, service booking and online consultation. Then we sketched and ran closed card sorting to settle the information architecture. Wireflows in Whimsical validated the components before we built the high-fidelity prototype in Figma.
![]() | ![]() |
Booking and consultation user flows + IA | Screenflow of the two main features |
Testing, then fixing what failed
The first Maze test missed our expectations. Follow-up interviews showed the problems were about clarity, not looks. We made four fixes and retested with five new users:
Naming: “Vet Clinics” became “Vet Services,” with distinct icons, because users read “Clinics” as medical care only.
Flow: Booking now starts with the service, then the clinic, after the long flow caused misclicks.
Micro-copy: We added guidance text where testers showed frustration.
Checkout: The applied-coupon state changed from grey to red, and a default payment method now shows how to choose one.
![]() ![]() | ![]() | ![]() |
Feature name and microcopy changes | Booking flow after iteration | Chackout page refinements |
Design system
The concept we chose: Friendly, Readable, consistent. Poppins sets a seven-level type scale. Yellow leads for warmth, with purple as the accent. Five shadow levels signal elevation, 50+ components created to keep desing consistency, and a 4-column grid on a 390px mobile frame keeps every screen aligned.
Results
The first Usability testing on Maze didn't meet our expectations. Follow-up interviews showed the problems were about clarity, not appearance:
Naming: "Grooming" was hard to find under "Clinics," because users read "Clinics" as medical care only. We renamed it Vet Services and redesigned the icons so each service was easier to tell apart.
Flow: Booking was too long and led to misclicks. We put the service first and the clinic second, so the flow became Service → Clinic → Review → Booking instead of Clinic → Clinic choice → Review → Service → Booking.
Micro-copy: Testers showed frustration on pages that lacked context, so we added guidance text where people were getting stuck.
Checkout: Testers clicked repeatedly at the coupon field because the applied-coupon state was grey and easy to miss. We changed it to red. We also showed a default payment method as a cue for how to choose one.


After iteration: the second round
The revised prototype reached an overall satisfaction score of 4.7/5. A second round with five new participants showed significant improvement in usability metrics.
Insights
Our research pointed us in the right direction, but the first design didn't get there. The problems weren't about looks. A category name users misread, a booking flow that started in the wrong place, and a coupon state that was easy to miss each stopped people from finishing a task. Small decisions about wording and hierarchy decided whether the app worked.
Key Takeways
Test the solution, not just the problem. Research shows what to build. Testing shows whether you built it right, so plan for a second round.
A label is an IA decision. Name things the way users think of them. "Clinics" hid grooming, and "Vet Services" made it easy to find.
Show when an action worked. People click again when nothing seems to happen. Make every state change easy to notice.














