Product design & engineering · 2026

The cat app that refuses to guess.

Every popular app in this category promises to translate your cat. None of them can. This is how PurrPlay was built to be useful without making that claim.

Role
Solo product design & engineering
Timeline
10 weeks, design through build
Platforms
iOS & Android · React Native / Expo
Scope
15 screens · 10 sound categories · premium tier
Status
Pre-launch. Backend deployment and store submission outstanding.

01

A large market, badly served

Cats are the most under-served companion animal in consumer software, not because the audience is small, but because the problem is genuinely hard and the shortcuts are so tempting.

  • 46.5MUS households keeping cats
  • 1 in 4cat households never visit a vet: the widest care gap of any species
  • >50%of chronic pain cases in adult cats go undiagnosed

The research base for species-appropriate audio is real: controlled work has shown cats orient toward cat-specific audio far more than human music, and shelter trials have measured reductions in stress markers. The science existed. The product did not.

Figures and the full 14-paper bibliography are held in the project repository under case_study/research/citations.md.

02

Everyone else took the shortcut

I audited the top five cat apps across both stores and mined roughly 1,200 reviews. The pattern was consistent: a gimmick translator, a playlist in a skin, or an interface that had not moved in a decade.

AppWhat it doesWhere it falls down
MeowTalk“Translates” meows with MLNo wellness loop, one-way, poorly reviewed
Human-to-Cat TranslatorGenerates meow soundsNovelty value; interface a decade old
Relax My CatAmbient track playerNo personalisation, no feedback loop
Cat TranslatorPhrase-book framingNo evidential basis

The review mining was the useful part. Complaints clustered hard around one theme, novelty that wears off in a week, which pointed directly at what the product needed to be: something that gets more valuable with use, not less.

03

What owners actually said

I play cat videos when I leave for work but I have no idea if it helps.

Owner interview, 1 cat

Eight semi-structured interviews, two shelter shadowing sessions and an informal vet consult produced four jobs-to-be-done. The one that reshaped the product was the last: when I have logged enough of my cat’s reactions, tell me something I did not already know.

That single line moved the app from a player to a journal. Everything after it (profiles, timestamps, the insight thresholds) follows from taking it seriously.

04

Five decisions that shaped it

Each of these cost something: a feature, a marketing line, or a week. They are the reason the product is defensible.

  1. 01

    Refusing to build a translator

    The obvious product here is a meow translator, and it is the reason this category has a credibility problem. There is no evidence base for mapping an individual cat’s vocalisation to a specific meaning. The honest version plays a sound with a known behavioural meaning and records what happened. Building that meant giving up the easier marketing story in exchange for claims that survive scrutiny.

  2. 02

    The journal is the product, not the soundboard

    A soundboard is a weekend build and a one-week retention curve. The defensible asset is the accumulated record of one specific cat’s responses, which gets more valuable the longer it runs and cannot be replicated by a competitor overnight.

  3. 03

    Logging had to cost one tap

    Every additional field in the logging flow is a reaction that never gets recorded. The reaction control collapsed to three buttons with the timestamp captured silently. Everything else the insights need is derived rather than asked for.

  4. 04

    Shipping the sounds you should not play

    Hisses, growls and fight calls are in the library, flagged and documented, with no playback encouragement. Omitting them would have left owners unable to recognise the sounds that matter most for welfare. Including them without guardrails would have made the app a stress-generator.

  5. 05

    Withholding conclusions until the data earns them

    Insights stay hidden below roughly twenty logs per cat and show raw counts instead. An app that confidently reports a pattern from four data points teaches users that its conclusions are decorative.

05

Not childish. Not clinical.

Cat products default to one of two registers: nursery pastel or veterinary white. Both are wrong. The brief was the feeling of a cat settling against you: warm, unhurried, adult.

The palette is built on cocoa and amber rather than the blue-grey that dominates app design, and the mark is a lowercase pwhose bowl resolves into a winking cat face about half a second after you read it as a letter. That delay is the brand.

Cream#FFF6E6
Amber#E8BE85
Amber deep#C08D4F
Teal#5BA4A4
Cocoa ink#2C1810
Stage#1D150D
Library: browse by behaviour
Detail: the one-tap logging step
Insights: gated until the data earns it
Profile: one record per cat
Favourites: offline state made explicit
Calm mode: its own darker surface
Clicker: teal, not amber

06

What it is built on

Mobile
React Native 0.79 · Expo SDK 53 · TypeScript
Styling
NativeWind, Tailwind semantics in React Native
State
Zustand 5
Backend
Hono 4 on Node · Bun toolchain
Data
PostgreSQL via Prisma 6, hosted on Supabase
Auth
Supabase Auth: email plus Google and Apple OAuth
Payments
RevenueCat
Contracts
Zod 4 schemas shared between client and server

07

Where it stands

PurrPlay is feature-complete on device and not yet shipped. Being straight about that is more useful than a fake launch date.

  • Done. 15 screens built, backend API complete with 69 passing tests, per-user row-level security across every table, signed expiring URLs for premium audio, RevenueCat webhook failing closed, full brand and icon system generated from a single geometry source.
  • Outstanding. Backend deployment to production infrastructure, secret rotation after decoupling from the original sandbox host, EAS project initialisation, a device smoke test, and store submission.

The naming question is also open: an unrelated iOS app currently ships under the PurrPlay name, which is why this site lives atpurrplay.djasha.me rather than the domain the repository still references.

Read the product side.

The sound library, what each category means, and how the logging routine works in practice.