This is a submission for Weekend Challenge: Dog Days Edition
What I Built
Three months after adopting my rescue, I noticed he was sleeping more and eating slower. I thought he was "settling in." Six months later, the vet told me he had Stage 3 arthritis. Completely treatable if caught early.
I'm not alone. 60% of serious health issues in dogs are discovered after symptoms become severe. Owners spend $653 on average at emergency vets for things that were either totally normal or should have been caught weeks earlier. And 59% of dogs in the US are overweight without their owners realizing.
PawWise is an AI vet friend that gives dog owners what they actually need: instant clarity.
Upload a photo of your dog and get:
- Health Check: Body condition score, coat health, posture analysis, breed-specific risks
- Behavior Decoder: "Why is my dog doing this?" with breed context and training steps
- Emergency Triage: Is this an emergency? Green/Yellow/Orange/Red urgency with first aid
- Dog Court (fun mode): Your healthy dog committed a crime? AI generates a voice-acted courtroom drama
The serious modes solve real problems. The fun mode gives you something to share when everything is fine.
Demo
Try it live: simplynadaf.github.io/dog-court
Upload any photo of your dog. The AI will analyze it and give you a full health report with actionable next steps, spoken aloud in a calm voice.
In Dog Court mode, upload evidence of your dog's "crime" (chewed shoes, stolen food, destroyed pillows) and listen to a full multi-voice courtroom drama where your dog gets legal representation.
Code
simplynadaf
/
dog-court
ποΈ Your dog committed a crime. AI gives them a fair trial. Built with Google Gemini + ElevenLabs for DEV Weekend Challenge: Dog Days Edition
πΎ PawWise
AI That Actually Understands Your Dog
59% of dogs are obese and their owners don't know.
60% of serious health issues are caught too late.
I built an AI that catches it in a photo.
Live Site β Β β’Β Watch Demo β Β β’Β Read Article β
π¬ Demo
π― What It Does
| Mode | What Happens |
|---|---|
| π₯ Health Check | Upload a photo β AI assesses body condition score, coat health, posture, eyes, and flags breed-specific risks |
| π§ Behavior Decoder | "Why is my dog doing this?" β Breed-specific explanations, whether it's normal, and what to do |
| π¨ Emergency Triage | "My dog ate chocolate" β π’π‘π π΄ urgency level + first aid + when to rush to the vet |
| βοΈ Dog Court | Upload evidence of destroyed shoes β AI generates a full multi-voice courtroom drama |
π The Problem
| Crisis | Scale |
|---|---|
| Dogs overweight/obese | 59-65% in |
How I Built It
The Research That Shaped Everything
Before writing a single line of code, I spent time looking at the actual data:
| Problem | Scale |
|---|---|
| Dogs overweight/obese | 59-65% in the US (ASPCA, Cornell) |
| Health issues caught too late | 60% (AVMA) |
| Owners can't spot subtle pain | Same accuracy as non-owners (2026 PLOS ONE) |
| Average emergency vet visit | $653, often unnecessary |
| Dogs surrendered to shelters | 28% due to behavior owners didn't understand |
The pattern was clear: owners love their dogs but lack the knowledge to interpret what they're seeing. A tool that bridges that gap could genuinely save lives.
Architecture
Photo Upload β Google Gemini (multimodal analysis)
β
Structured JSON response
(urgency, observations, actions)
β
ElevenLabs Text-to-Speech
(calm voice reads the summary)
For Dog Court mode, the pipeline extends:
Crime Photo β Gemini Vision (analyze "crime scene")
β
Gemini Text (generate courtroom script)
β
ElevenLabs Text-to-Dialogue API
(4 different voices: Judge, Defense, Prosecution, Defendant)
Technical Decisions
Google Gemini 3.5 Flash for all AI analysis. Multimodal (understands images natively), supports structured JSON output (no parsing errors), and the free tier is generous enough for a real app. I use the responseMimeType: 'application/json' parameter to guarantee structured responses.
ElevenLabs Text-to-Dialogue API is the secret weapon for Dog Court. One API call, multiple voice IDs, one cohesive audio output. Each character gets their own voice and emotion tags like [dramatically] or [innocently]. The result sounds like a produced audio drama, not stitched TTS clips.
Zero dependencies. The entire app is vanilla HTML, CSS, and JavaScript. No React, no build tools, no npm install. Loads instantly and deploys anywhere. I wanted the barrier to trying it to be as low as possible.
API keys stay in the browser. LocalStorage only. No backend server, no data collection. Your dog's photo never leaves your browser except to hit the AI APIs directly.
The Prompt Engineering
The health check prompt asks Gemini to assess specific clinical indicators:
Assess:
1. Body Condition Score (1-9 scale)
2. Coat condition (shiny/dull/patchy)
3. Eye condition (clear/discharge/redness)
4. Posture (normal/hunched/favoring a leg)
5. Breed-specific risks to watch for
Respond with urgency level: green/yellow/orange/red
For Emergency Triage, the key instruction is: "Err on the side of caution. Better to say go to vet than miss something serious." Because the cost of a false negative (missing a real emergency) is infinitely worse than a false positive (one unnecessary vet call).
Dog Court prompts are pure comedy writing. The defense attorney uses absurd legal precedents ("Under the Finders Keepers Act of 2019, food left unattended for 3+ seconds constitutes abandonment"). The judge delivers dry one-liners. The defendant just says "Woof?"
What I Learned
ElevenLabs' Text-to-Dialogue API is underrated. Most people use their basic TTS. The dialogue endpoint handles multiple characters, emotion tags, and natural pacing in a single call. Perfect for conversational AI output.
Gemini's structured output eliminates parsing bugs. Setting
responseMimeType: 'application/json'with a defined schema means the model always returns valid, predictable JSON. No more regex extraction from free-text.The line between useful and fun is where the best products live. PawWise could have been just a health tool (boring) or just Dog Court (shallow). Combining both makes it something people actually want to open again.
Prize Categories
Best Use of Google AI: Gemini powers all 4 modes. Multimodal image analysis for health checks and crime scene analysis. Structured JSON output for reliable, parseable responses. The AI doesn't just describe what it sees. It triages, recommends, and contextualizes based on breed-specific veterinary knowledge.
Best Use of ElevenLabs: Two distinct integrations. Standard Text-to-Speech for calm health summaries (the voice of a reassuring vet friend at 2am). Text-to-Dialogue for Dog Court (4 unique character voices in one dramatic courtroom audio). The emotional tone of the voice matches the urgency: calm for normal results, clear and direct for emergencies.
The vet disclaimer: PawWise is an AI tool, not a veterinarian. When in doubt, always see your vet. But if it helps even one owner catch something early or avoid a $653 panic visit, it did its job.

Top comments (1)
π Quick links for anyone trying it:
π ππΆππ²: simplynadaf.github.io/dog-court
πΊ ππ²πΊπΌ: youtube.com/watch?v=vqyF_65Qc_s
π» ππΌπ±π²: github.com/simplynadaf/dog-court
π You need a free Google AI key β aistudio.google.com/apikey (30 seconds)
ποΈ ElevenLabs key is optional (adds voice summaries)
π§πΆπ½: Dog Court mode + photo of destroyed furniture = the funniest results. Drop your dog's verdict below! βοΈπ