CatColonyWatch: Local Open AI for Community Cat Field Observation

# devchallenge# hf26challenge
CatColonyWatch: Local Open AI for Community Cat Field ObservationMaribel L. Santos

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass ...

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass

What I Built

I built CatColonyWatch, an open-source field-observation tool for volunteers and organisations that monitor community-cat colonies.

Its core idea is simple:

The AI is not watching the cats. The human is.

Community-cat monitoring happens outside: at feeding points, streets, gardens, courtyards, shelters, and other shared spaces.

But volunteers often need to do two things at once: pay attention to the animals and keep useful records.

CatColonyWatch is designed to make the screen the shortest part of that experience.

The workflow is:

  1. Go to the colony or feeding point.
  2. Observe the cats and their surroundings.
  3. Record short factual notes.
  4. Let a local open-weight AI model structure those observations.
  5. Review the result before saving it.

The goal is not to automate animal observation.

The goal is to let people spend more time actually observing animals and less time organising notes.

CatColonyWatch currently supports:

  • reusable records for known cats
  • unidentified cats observed during a visit
  • observation start and end times
  • automatically calculated duration
  • total cats observed, even when not every cat can be identified
  • individual notes for known cats
  • food and water observations
  • feeding-point conditions
  • biodiversity observations
  • visit history
  • JSON and CSV export
  • local SQLite storage
  • AI-assisted structuring with Gemma

The AI has deliberately narrow boundaries.

It does not diagnose animals, assess medical urgency, recommend treatments, or infer emotions or intentions.

Its job is much simpler:

help humans organise what they actually observed.


Demo

Streamlit demo:

https://catcolonywatch.streamlit.app/

The Streamlit version demonstrates the field-observation workflow and interface.

The complete AI workflow is intentionally designed to run locally through Ollama + Gemma 3 on the user's computer.

That means the public interface and the local AI architecture serve slightly different purposes:

  • Streamlit makes the workflow easy to explore.
  • Local Ollama + Gemma handles the AI processing while keeping field observations off third-party AI servers.

The full local setup is documented in the repository.


Code

The complete project is open source:

🐾 CatColonyWatch Observe first. Record second. Let open AI structure the notes CatColonyWatch is an open-source field-observation tool for volunteers and organisations that monitor community-cat colonies The AI is not watching the cats. The human is.

The app is designed to keep screen time short: volunteers observe cats and their environment first, record factual notes second, and then use a local open-weight AI model to structure those observations into a clearer record 🌿 How it works

  1. Go to the colony or feeding point.
  2. Observe for a few minutes.
  3. Record the cats actually seen.
  4. Add factual notes about individual cats, the environment, and other animals.
  5. Let local open-weight AI structure the observations.
  6. Review the AI output before saving or exporting it. AI supports the fieldwork. It does not replace observation. 🐈 Main features CatColonyWatch includes:
  • a reusable database for known cats
  • field visits with date, time, observer, weather and duration
  • individual…

Repository:

https://github.com/Maribele/CatColonyWatch

The repository includes:

  • app.py
  • requirements.txt
  • Streamlit interface
  • SQLite storage
  • local Gemma/Ollama integration
  • setup instructions
  • responsible-use limitations
  • MIT License

Local databases and secrets are excluded from Git so real colony data is not accidentally published.


How I Built It

CatColonyWatch is built with:

  • Python
  • Streamlit
  • SQLite
  • Ollama
  • Gemma 3 4B
  • Pandas
  • Requests

The architecture is intentionally small:


text
Human field observation
        ↓
Streamlit interface
        ↓
Recorded visit
        ↓
Local Ollama server
        ↓
Gemma 3
        ↓
Structured JSON
        ↓
Human review
        ↓
SQLite / JSON / CSV
Enter fullscreen mode Exit fullscreen mode