Building for Anxiety: Why Pawsitive Taught Me Something About Good Product Design
Adil Sher
Author
I've built a lot of applications in my career, dashboards, e-commerce platforms, admin panels. Most of them solve practical problems: make data visible, process transactions faster, streamline workflows. But last week, I read about an app that solved something I hadn't really thought about as a technical problem before: irrational fear.
The thing is, I get it. I'm not particularly afraid of dogs, but I have plenty of irrational responses to things. And watching someone build an entire learning application specifically designed not to trigger anxiety while teaching about the very thing causing the anxiety? That's a design constraint I'd never faced. It made me realize how many products I've built assuming users are calm, rational, and patient. What if they're not? What if they're nervous?
Two Sides of the Same Problem
Here's what struck me most about Pawsitive: the creator realized that a dog encounter isn't a problem to solve for one person, it's a problem involving two people with completely different interpretations of the exact same moment.
A dog owner sees their friendly pet approaching. A nervous person sees threat. Both are looking at the same dog. The app doesn't just teach the nervous person to understand dogs better; it teaches the owner to recognize that "he's friendly" doesn't matter if the other person is terrified. That's sophisticated product thinking, honestly.
Most applications I build solve for one user journey. But real-world problems are usually more complex. That realization alone makes me want to audit my own products: Who else is affected by this interaction that I haven't considered?
The Technical Bet on AI
The implementation here is clever. Instead of building a massive backend to analyze dog photos, the creator used Gemini, specifically making it work both with server-side inference and Chrome's built-in Gemini Nano model for private, on-device analysis.
This is pragmatic engineering. The app doesn't require authentication or a database. You open it and start learning immediately. There's no friction. And the AI integration isn't flashy for flashiness' sake, it solves an actual problem: helping users understand what they're seeing in a dog's body language through structured analysis.
The fallback to on-device Gemini Nano is the smart part. If the user has a supported browser and capability, the analysis happens privately. No API key needed. No server round trip. That's thoughtful about privacy and user experience simultaneously.
My Take: Design Under Constraint
What I genuinely respect here is that anxiety isn't treated as a problem to eliminate, it's treated as a constraint to design around. No sudden barking. No dogs jumping at the screen. Gentle animations. Gentle sounds. A mascot that reacts appropriately.
I think most developers would build a feature-rich educational app and then maybe add a "calm mode." This builder designed the entire experience for the nervous case first, then added content for dog owners. The constraint shaped the design rather than being bolted on afterward.
This is how I want to think about accessibility going forward. Not as a feature to add at the end, but as a constraint that improves the product for everyone.
That said, I'd want to see how this scales. An MVP with ten lessons is smart, but does the learning model hold up with fifty lessons? How does Gemini's breed analysis hold up with mixed breeds or unusual angles? These aren't criticisms, just genuine questions about what happens when you take a weekend project into production.
What I'd Do Differently (Maybe)
I'd probably add optional authentication with persistent progress across devices. Right now, localStorage means your progress vanishes if you clear your browser. For a learning app, that's painful. But I also respect the "just open and use it" philosophy, adding login is friction.
I'd also want telemetry on which scenarios people struggle with most. Which dog body-language signals cause the most confusion? Which owner perspectives actually shift someone's thinking? That data would let you improve the learning model without guessing.
The Bigger Picture
This project reminds me that the most interesting problems in software aren't always about performance or scale. Sometimes they're about understanding humans well enough to build something that meets them where they are, anxious, uncertain, needing to understand rather than be lectured.
It's made me want to spend more time on empathy-driven design and less time assuming everyone who uses my products is calm and rational.
Have you built something that needed to account for emotional state? I'm genuinely curious how you approached it.
Source: This post was inspired by "I Love Dogs, But Dogs Scare Me, So I Built Pawsitive with Gemini 🐾." by Dev.to. Read the original article