← All updates

Launching Pawpress: a keepsake, not a feed

Pawpress turns one daily photo of your pet into a magazine-style cover with an AI mood reading. The opposite of a feed.

Pawpress shipped today on both stores. One daily photo of your pet becomes a magazine-style cover with a mood reading. No timeline, no follows, no comments. The press just opens the next blank spread when you arrive.

Most pet apps default to the feed pattern — endless scroll, social comparison, more dopamine, less keepsake. Pawpress is the opposite: a slow ritual, one cover per day, archived by date, worth flipping back to a year from now.

What's in the first issue

  • One photo → AI reads body language → one of ten moods earns a headline
  • Ten moods to read against: joyful, cozy, curious, sleepy, dramatic, mischievous, zen, melancholy, grumpy, longing
  • A magazine-style cover with a pull-quote in the pet's "voice", dated and filed
  • Multiple pets supported — each one runs its own publication
  • Three free readings per day. No paywall. No ads.
  • Anonymous sign-in by default. Photos stay in your private archive; delete the issue, delete the photo.

The framing decision that took the longest was treating the cover as a keepsake rather than a post. A post wants engagement; a keepsake wants to be re-opened months later. Everything else — the typography, the issue numbering, the deadpan voice that refuses baby-talk — falls out of that one choice.

What the build looked like

The hard parts weren't the AI. The OpenAI Vision call is around six seconds end-to-end and the prompt fits on one page. The hard parts were:

  • Voice. Every other pet app defaults to "hooman" and exclamation marks. Getting the model to write like a magazine column — dry, observed, occasionally absurd — took more prompt iterations than the vision logic itself. "I was not consulted on breakfast. Please notify my office." over "OMG I'm hungry!!"
  • Anti-feed UX. No social, no profile, no follows. Just the home masthead and your back-issues grid. Resisting the urge to add a community layer was the actual product work.
  • Cover quality. A watercolor-style illustration, magazine typography, tabular figures, a real type scale with a 64pt Display weight for the mood headline. The cover has to be screenshot-worthy on its own — that's the whole loop.
  • Quota. Three readings per local day per user, atomic counter in Firestore so racing taps across pets can't overflow. We track local-day instead of UTC so a user can't bypass the limit by hopping timezones.
  • App Check. Play Integrity on Android, App Attest on iOS, enforced server-side. The OpenAI key lives in Google Secret Manager and never ships in the binary.

Available now

English and Russian at launch, with more languages on the way.

Next

For a daily ritual the only metric that matters early is return rate — do readers come back tomorrow? Watching that. Everything else is noise.