Bonus Bowls: A loyalty platform for a Fortune 500 pet brand
Bonus Bowls is a platform that rewards Canadian pet parents for their pet food purchases. Users photograph and upload their receipts, collect cashback, and redeem it for rewards. I ran the User Research, designed the experience, shipped the Angular front-end, and connected it to a comprehensive analytics dashboard.
{{Hero visual}}
- Timeline
- Fall 2025 → Spring 2026
- Tools
- Google Forms, Figma, FigJam, Angular, GA4, Looker Studio
- Role
- UX research, UI/UX, Prototyping, Usability Testing, Front-End, Analytics
- Industry
- Pet food
About
The client came to us with a problem: their products have the best margins but the worst stickiness. Pet parents pick brands on price, so loyalty was hard to build, and that was quietly weakening the vet-customer relationship too. A rewards program is the obvious fix, but only if pet parents trust it enough to bother.
That’s the gap Bonus Bowls closes. The whole design rests on one promise: the receipt part just works, which is exactly where competitors fall down.
So the real question was:
How do we build a rewards platform that pet parents actually trust, and make rewards actually feel rewarding?
Design Thinking
We run every project runs on the same five phases of design thinking. Here's how each one played out on Bonus Bowls:
01Empathize
- User surveys
- Competitive analysis
02Define
- Persona
- POV
- How-Might-We
03Ideate
- User flows
- Wireframes
04Prototype
- Mid-fi Figma
- Google Material
05Test
- Usability testing
- Analytics
01Empathize
We needed to understand how pet parents behave: where they buy pet food, how often, what they do with receipts, and what would make a rewards program worth their time. I put together a 5-minute survey targeting Canadian pet parents.
Key Takeaways






Great news: people are open to the program.
Beyond that, we found that pet parents shop monthly (suggesting a similar usage cadence for our platform), the audience is young, tech-savvy, and price-driven, and we've identified their favorite brands and platforms to enable a competitive analysis.
Competitive Analysis
After reading through the survey responses, it was time to investigate the pet brands that came up most often, along with some general loyalty apps. We needed to understand what was already out there so we could pick the best features and avoid what was causing frustration.
To accomplish this research I signed myself up to the programs, downloaded the apps and used them, read numerous Google and App Store reviews, and joined Reddit forums.
| Feature | Purina myPurina | Receipt Hog | Takeaways |
|---|---|---|---|
| Receipt Upload | ✗ 60% rejection rate | ✓ Universal acceptance | ✓ Accept receipts from every vendor, no rejections |
| Processing Time | ✗ 3+ business days | ✗ Variable delays | ✓ Approve receipts in under 3 days |
| App Reliability | ✓ Stable and fast | ✗ Stability issues | ✓ Keep the app stable and fast enough to trust |
| Reward Options | ✗ Merchandise, no cash | ✗ Low cash, low reward | ✓ Pay out in real cash, not merchandise |
| Customer Support | ✗ Email only | ✗ Limited response | ✓ Offer responsive support like live chat and email |
Every program we looked at got one half right and dropped the other, so how might we deliver both: reliable, universal approvals and rewards worth cashing in?
02Define
Now that we’ve mapped our users and our competition, we have a solid base to define our challenges and plan how to overcome them.
Personas
Elena Martinez
The Devoted Dog Mom
32, marketing coordinator, tech-comfortable but wants simple apps. Spends ~$90/month on her dog’s prescription food. Needs fast receipt uploads, cash back she can use, and trust that her data is safe. Frustrated by complicated programs with unclear rules or slow rewards.
David Thompson
The Multi-Pet Owner
40, works full-time, mobile-first, price-driven. Feeds three pets at $200+/month. Wants to earn on every purchase, cash out fast, and get instant receipt confirmation. Already juggles five reward apps, so this one has to just work or he drops it.
Linda Wilson
The Loyal Vet Customer
58, retired teacher, prefers phone calls over apps. Shops only at her vet. Wants rewards without downloading anything complicated, an in-person explanation, and reassurance her information is safe. Open to rewards but wary of anything that needs smartphone skills.
How Might We
How might we convert price-driven shoppers into loyal customers?
How might we make uploading a receipt effortless for people who don’t keep receipts?
How might we keep members coming back between monthly purchases?
Now that we defined the problems, how do we solve them?
03Ideate
Before opening Figma, I mapped each business goal to the research finding that should drive it, on one page the client signed off on. It stopped every later “what if we…” from reopening a settled decision.
| Business goal | Research-backed solution |
|---|---|
| Drive repeat purchase | Cash-back at a $25 minimum, build a monthly purchase relationship |
| Reward the purchase | Quick photo capture, fast confirmation |
| Build trust | Security messaging, 2FA, breached-password checks, consent-first analytics |
| Win new customers | Educational content, more generous cash-back than competitors |
User Flows
I mapped the main journeys so the path from “Onboarding” to “I got paid” stayed as short as possible.
{{Figma: user flows}}
With every decision mapped and signed off, the plan felt solid. Now the real question was how fast we could turn it into something people could actually use.
04Prototype
From wireframes straight to code
To build a prototype as fast as possible, we decided to use Google Material for our raw components. We chose Material for a few reasons:
- Google is the native platform the client already uses, so the look would feel familiar to stakeholders.
- It let us ship a quick mid-fidelity prototype for review.
- Material components are built to work with our Angular framework, which saved developer time.
Visual Direction
We pulled colors, typography, and core patterns from the brand’s existing design system to keep Bonus Bowls consistent with its other products.
Key Screens
| Screen | Design decision | View |
|---|---|---|
| Sign-up | Banking deferred to cash-out | {{screenshot}} |
| Receipt upload | Guided 4-step flow; one-tap camera; live validation | {{screenshot}} |
| Earnings dashboard | Plain progress to the threshold; no gamification noise | {{screenshot}} |
| Redeem | E-transfer; transparent status; support one tap away | {{screenshot}} |
From Prototype to Shipped Product
I owned the Angular front-end end to end: architecture, component and state design, responsive behaviour, accessibility, and the production deploy, plus the API contract my backend partner and I built against.
It shipped as a real product:
- Bilingual EN / FR-CA: every string, status, and page title flips cleanly.
- Accessibility: WCAG AA, passing AXE checks, with live announcements on receipt status changes.
- A full admin console:the brand’s reviewers approve receipts, manage payouts, and run the product catalog.
The product was built and shipped. But building something and proving it works for real people are two very different things.
05Test
Before launch, and with live data after
Testing happened twice: with real users on the prototype before launch, and with live data after.
Usability Testing
I ran moderated usability tests with 5 participants (3 current users, 2 interested). Each completed a few core tasks:
- Upload a receipt for a recent vet purchase
- Check your balance and start a cash-out
Goal: see how easily people moved through the flow, gather feedback on look and feel, and find points of confusion.
Key Findings
Participants moved through the upload process and described the redemption as trustworthy and fast, mostly because each step confirmed what had happened and the e-transfer payout was something they were already familiar with. The friction showed up in a few places: entering the invoice total before tax, needing a payment method before cash-out, and finding the right product in the catalog.
Changes Made After Testing
The most useful part was watching where people hesitated. The fixes that came out of it:
Issue 1: People entered the total with tax included
Before On the Purchase Details step, several participants typed the full invoice total, tax included, even though rewards are based on the pre-tax product total.
After Added a clear hint under the field (“Enter the pre-tax product total, before tax”) and a matching line in the pre-submit checklist.
Issue 2: Cash-out stalled with no payment method saved
Before Participants reached the redemption screen ready to redeem, then discovered they first had to add an e-transfer email, which felt like an unexpected extra step.
After Surfaced the payment-method prompt earlier and added a direct link to add one from the redemption screen, so people aren’t sent hunting through settings.
Issue 3: Hard to find a product in a long list
Before On the Select Products step, participants scrolled a large catalog to locate their item.
After Added search and category filters (dog/cat, dry/wet, prescription/regular) at the top of the step.
Final Product
{{Final product: annotated screenshots / link}}
Validating in Production
Testing didn’t stop at launch. I instrumented the live product so the brand could see whether real behaviour matched the research, and to lay a solid base for UX measurement so we can track how well future updates perform.
The GA4 layer tracks the full member journey across 30+ events, with four real conversions: account created, receipt submitted, payout requested, and payment method added. Three decisions kept the data honest:
- Privacy-first: nothing is tracked until the user consents.
- Members vs. browsers: every session is tagged registered or guest, so reports show real members, not all traffic.
- Bilingual in the data: language is captured as a property, so English and French behaviour is visible, not guessed.
A Looker Studio dashboard turns the raw events into plain-language answers that I shared with all stakeholders. Every research number that justified a decision is now a live metric.
Bonus Bowls launched in July 2026, so this data is just starting to flow. The signals below are a first read, not a verdict.
Early signals
Between usability testing before launch and live analytics after, the product could finally answer its own hardest question: is it actually working?
Conclusion
Main Insights
The research was clear: pet parents want cash, won’t tolerate a slow or unreliable receipt process, and need to trust a new program before sharing banking details. Every major decision , cash over points, one-tap upload, security on every money screen, e-transfer payouts , traces back to one of those findings. Designing from data meant every review became “show me the survey answer that says why.”
What I Learned
Pitching for research time was the highest-leverage hour of the project.
Four weeks up front made every later decision faster.
Reliability is a strategy when everyone else is unreliable.
A 60% rejection rate from the market leader was the whole opening.
Build the scoreboard before kickoff.
Instrumenting from launch means “did it work?” has a real answer.
Launch is the start of research, not the end.
Next: a quarterly micro-survey to live members, fed into the roadmap.
Let’s Connect
Thanks for reading. Happy to talk through any part of the process, or just say hi.