DEV Community

Cover image for I Built Cat Guardian for My Seven Cats ๐Ÿพ
Luis Fernando Richter
Luis Fernando Richter

Posted on

I Built Cat Guardian for My Seven Cats ๐Ÿพ

This is a submission for Weekend Challenge: Dog Days Edition

๐Ÿพ Cat Guardian โ€” Protect. Identify. Find.

I live with seven cats: Kiara, Golia, Meias, Vaquinha, Tigrinha, Peluda, and Gamora. They all have different personalities, different appearances, and different routines.

And, like many pet owners, there is one thing that has always worried me: What if one of them gets lost?

That question became the starting point for Cat Guardian.

What I Built

Cat Guardian is a privacy-first digital safety passport for cats.

The idea is simple: give each cat a digital identity containing the information that could actually help if they ever go missing.

The platform provides:

  • ๐Ÿˆ Digital identity for each cat
  • ๐Ÿฉบ Health records and vaccination tracking
  • ๐Ÿง  AI-assisted visual identification
  • ๐Ÿท๏ธ Dynamic QR collar tags
  • ๐Ÿšจ Lost Mode
  • ๐Ÿ“ฑ Public rescue passport
  • ๐Ÿ” Privacy-preserving contact between finder and owner
  • ๐ŸŒŽ English and Brazilian Portuguese localization

The problem

When a pet goes missing, useful information is often scattered across photos, veterinary records, paper documents, and the owner's memory.

Traditional collar tags can also expose personal information such as phone numbers or addresses. I wanted a different approach.

The QR code attached to the collar doesn't expose the owner's contact information. Instead, when someone finds the cat, they can scan the QR code and access a public rescue profile.

If the owner has activated Lost Mode, the finder can submit a sighting. The owner is then notified through a secure backend relay.

Owner
  โ”‚
  โ–ผ
Cat Guardian
  โ”‚
  โ”œโ”€โ”€ Digital Identity
  โ”œโ”€โ”€ Health Records
  โ”œโ”€โ”€ AI Profile
  โ””โ”€โ”€ QR Collar Tag
          โ”‚
          โ–ผ
      Lost Mode
          โ”‚
          โ–ผ
     Finder scans QR
          โ”‚
          โ–ผ
    Public Rescue Card
          โ”‚
          โ–ผ
     Submit Sighting
          โ”‚
          โ–ผ
       Owner notified
Enter fullscreen mode Exit fullscreen mode

The goal isn't to replace GPS trackers or microchips.

It is to make the information surrounding a lost pet available, structured, and safer to share.

Why AI?

I didn't want to add AI simply because this was an AI-related challenge.

I wanted to use it where it could provide practical value.

Gemini is used to analyze visual characteristics such as coat patterns, eye color, and distinctive markings and generate a structured identification profile.

The application also provides informational preventive wellness guidance, while explicitly keeping medical diagnosis and treatment outside its scope.

AI-generated profiles are also localized according to the user's language.


Demo

๐ŸŒ Open the Live Demo โ†’

The application includes a Demo Mode, so you can explore the main experience without creating an account.

The demo contains my seven cats:

Kiara ยท Golia ยท Meias ยท Vaquinha ยท Tigrinha ยท Peluda ยท Gamora

Try the Lost & Found flow with the demo data and explore how a finder would interact with a cat's public rescue passport.

Key flows

1. Register a cat

Create a digital identity and add health information.

2. Generate a QR collar tag

The QR code points to the cat's public safety passport.

3. Activate Lost Mode

The owner can mark the cat as missing.

4. Finder scans the QR code

The finder sees the relevant rescue information without seeing the owner's private contact details.

5. Submit a sighting

The finder can send information about where and when the cat was seen.

6. Owner receives the notification

The backend relays the sighting to the owner through Resend.


Code

๐Ÿ’ป GitHub Repository โ†’

The project is open source and built with:

  • React 19
  • Vite 6
  • TypeScript
  • Supabase PostgreSQL
  • Supabase Auth
  • Row Level Security
  • Gemini
  • Ollama
  • Mistral 7B
  • OpenCoder 8B
  • Resend
  • i18next / react-i18next
  • Vitest
  • React Testing Library
  • ESLint

How I Built It

This project was also an experiment in AI-assisted software engineering.

I used my own AI Software Engineering Framework 2.0 to orchestrate the development process.

The goal was not simply to ask an LLM to generate the application.

Instead, I treated AI agents as specialized members of an engineering workflow.

Human Supervisor
       โ”‚
       โ–ผ
Chief of Staff
       โ”‚
       โ–ผ
   Risk Router
    /   |   \
   โ–ผ    โ–ผ    โ–ผ
Mistral OpenCoder Gemini
   \    |    /
    \   |   /
      Jidoka
         โ”‚
         โ–ผ
   Human Approval
         โ”‚
         โ–ผ
       Merge
Enter fullscreen mode Exit fullscreen mode

Risk-based agent routing

Simple and low-risk tasks were delegated to local models running through Ollama.

๐ŸŸข Mistral 7B

Used for tasks such as:

  • documentation
  • simple UI changes
  • repetitive work

๐ŸŸก OpenCoder 8B

Used for:

  • CRUD
  • forms
  • implementation tasks

๐Ÿ”ด Gemini

Used for higher-risk tasks such as:

  • authentication
  • Row Level Security
  • AI integrations
  • architectural decisions

This allowed me to keep the more capable model focused on tasks where it provided the most value.

Jidoka Quality Gate

Every implementation had to pass a validation pipeline:

Lint
  โ†“
Typecheck
  โ†“
Tests
  โ†“
Build
  โ†“
Human Approval
Enter fullscreen mode Exit fullscreen mode

If a validation step failed, the workflow stopped instead of allowing the problem to propagate.

This follows the Jidoka / Andon Cord principle from my framework:

When an anomaly is detected, stop the process and fix it before continuing.

The final release candidate passed:

Gate Result
ESLint โœ… PASS
TypeScript โœ… PASS
Vitest โœ… 21/21 PASS
Production Build โœ… PASS

Privacy-first architecture

The public rescue passport deliberately does not expose:

  • owner's email
  • phone number
  • physical address

The finder communicates through a backend relay.

Sightings are persisted in PostgreSQL and the owner is notified through the Resend API.

This creates a simple separation:

Finder
  โ”‚
  โ–ผ
Public Rescue Passport
  โ”‚
  โ–ผ
Sighting
  โ”‚
  โ–ผ
Backend
  โ”œโ”€โ”€ PostgreSQL
  โ””โ”€โ”€ Resend
          โ”‚
          โ–ผ
        Owner
Enter fullscreen mode Exit fullscreen mode

The finder can help without gaining direct access to the owner's private contact information.


Internationalization

English is the default language, with Brazilian Portuguese as a secondary locale.

I also wanted AI-generated information to respect localization.

The localized AI profiles are stored in PostgreSQL using JSONB:

{
  "en": {
    "description": "...",
    "personality": "..."
  },
  "pt-BR": {
    "description": "...",
    "personality": "..."
  }
}
Enter fullscreen mode Exit fullscreen mode

This keeps the cat's identity data together while allowing the presentation to adapt to the user's language.


Design System

The application uses a custom Midnight Guardian design system.

The visual language combines:

  • Midnight Navy
  • Lavender
  • Emerald
  • Amber
  • Coral

The goal was to make the application feel like a safety product rather than a generic pet CRUD application.


๐Ÿ” Privacy & Safety

Privacy was treated as a product requirement rather than an afterthought.

The public QR page is intentionally limited to information that can help identify and recover the cat.

Owner PII is not rendered publicly.

The system also does not attempt to provide veterinary diagnosis.

Cat Guardian provides informational preventive wellness guidance and does not replace professional veterinary advice.


๐Ÿšง Current Limitations

Cat Guardian is a hackathon prototype.

It does not currently provide:

  • real-time GPS tracking;
  • GPS collar hardware integration;
  • veterinary diagnosis;
  • guaranteed pet recovery.

These could be explored in future versions.

For this challenge, I intentionally focused on the digital identity, QR-based rescue flow, privacy-preserving communication, and AI-assisted identification.


๐ŸŽฏ What I Learned

The biggest challenge wasn't building the features.

It was deciding what not to build.

It would have been easy to add GPS, maps, mobile applications, IoT devices, blockchain, push notifications, and many other features.

But the core idea was much simpler:

Give a cat a digital identity that can help protect, identify, and reunite them with their owner.

Everything else had to support that idea.

And the project became much stronger because of that constraint.


๐Ÿพ Built for seven cats

Cat Guardian started with a very personal question:

What information would I want to have if one of my cats disappeared tomorrow?

I would want their photo.

Their identifying characteristics.

Their health information.

Their vaccination history.

Their microchip information.

And, most importantly:

I would want the person who found them to have a safe way to contact me.

That's Cat Guardian.

Built for:

Kiara ยท Golia ยท Meias ยท Vaquinha ยท Tigrinha ยท Peluda ยท Gamora

๐Ÿพ


Prize Categories

I'm submitting Cat Guardian for:

๐Ÿ† Best Use of Google AI

Gemini is used meaningfully in the application for:

  • AI-assisted visual identification profiles
  • feline characteristic analysis
  • preventive wellness assistance
  • localized AI-generated content

Google AI is also used as the high-risk agent in the AI-assisted engineering workflow.


๐Ÿ”— Links

๐ŸŒ Live Demo

๐Ÿ’ป GitHub Repository


Built for the DEV Weekend Challenge: Dog Days Edition.

Top comments (0)