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.

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

85%open to the program — the demand proof and the reason the project exists
66%want cash, not merchandise
50%don't keep receipts
89%smartphone-comfortable
Top brands mentioned
Top loyalty apps mentioned
Buying habits & audience
30%buy on price
47%spend about $100 a month
40%buy once a month
80%are 20 to 40 years old

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.

FeaturePurina myPurinaReceipt HogTakeaways
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.

Full user persona document

How Might We

01

How might we convert price-driven shoppers into loyal customers?

02

How might we make uploading a receipt effortless for people who don’t keep receipts?

03

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 goalResearch-backed solution
Drive repeat purchaseCash-back at a $25 minimum, build a monthly purchase relationship
Reward the purchaseQuick photo capture, fast confirmation
Build trustSecurity messaging, 2FA, breached-password checks, consent-first analytics
Win new customersEducational 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.

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:

  1. Google is the native platform the client already uses, so the look would feel familiar to stakeholders.
  2. It let us ship a quick mid-fidelity prototype for review.
  3. 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

ScreenDesign decisionView
Sign-upBanking deferred to cash-out{{screenshot}}
Receipt uploadGuided 4-step flow; one-tap camera; live validation{{screenshot}}
Earnings dashboardPlain progress to the threshold; no gamification noise{{screenshot}}
RedeemE-transfer; transparent status; support one tap away{{screenshot}}
Sign-up
Receipt upload
Earnings dashboard
Redeem
The four key screens — sign-up → receipt upload → earnings dashboard → redeem.

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

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

{{N}}Sign-upsin {{X}} weeks
{{N}}%Receipt approvalvs. competitor's 40%
${{N}}Cashed outacross {{N}} redemptions

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.

carelmaeda@gmail.com