This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
What I Built
Pawelle is a small app that helps my friend Shontu look after her cat, Pinky. Each day Shontu taps through a quick check-in (mood, appetite, energy, play, litter box), and Pawelle writes a short, friendly plan for food and play. It also keeps a diary-style history, so she can see how Pinky has been lately.
The plan is written by a small open-weight AI running on her own computer. There's no account and no cloud, and Pinky's details and photos stay on the machine.
I wanted something simple she would actually use every day. After trying it, this is what Shontu told me:
She loved the app and how easy it is to use. She can now keep track of Pinky in a diary-like way, and the AI meal plan is giving her much better ideas on how to look after Pinky. She's going to use it every day.
Demo
Code
Pawelle š¾
A gentle, private pet-wellbeing companion that runs entirely on your own computer.
Tell Pawelle about your cat, check in once a day, and get a short, kind plan for food and play, written by a small open-weight AI model running locally. No account, no cloud, no data leaving your laptop.
Pawelle was built for a friend, Shontu, and her cat Pinky.
Pawelle gives general wellbeing suggestions. It is not a vet and never diagnoses or recommends medicine.
What it does
| Cat profile | A three-step onboarding (only the name is required), up to two photos, allergies and conditions, and a "Pawelle knows Pinky 65%" nudge to add more. |
| Daily check-in | Mood, appetite, energy, play and litter box in a few taps, or one tap for "just like usual". |
| Today's plan | One button asks a local AI model for a short plan: meals, play ideas and things to |
It's MIT licensed. To run it, install Ollama, run ollama pull gemma3:1b, then npm install and npm run dev. The README has the details.
How I Built It
The front end is React with Vite and Tailwind. The back end is Express with SQLite. The AI is Gemma 3 1B, an open-weight model that runs locally through Ollama.
I started with the model's weak spot. When I asked it for an unusual pasta recipe, it invented a dish and fake links, with total confidence. A pet app can't do that, so I kept the model on a short leash:
- Safety rules run first, in plain code. Two days of "not eating", or a danger word like chocolate or lilies in a note, skips the model entirely and shows a calm "please contact your vet" banner.
- The model has a tiny job. It writes one friendly sentence and picks meal times and play ideas from fixed lists. The app writes the rest.
- Everything it returns is checked. Allergens, medicine words, made-up numbers and links are rejected. After one retry, you get a clearly labelled basic plan.
- Free-text notes never reach the model, so they can't be used to steer it.
In a 24-run test with the real model, all 24 plans were valid, with a median time of about 2.6 seconds.
I built it spec-first (a short spec, plan and task list for each feature, all in the repo), with an AI coding assistant doing much of the typing.
Why Does Open Innovation Matter?
- Privacy. A pet's health details and photos never leave the laptop. There's no server to trust.
- No keys, no bills. Everything talks to localhost, with no API keys and no cost per request.
-
Swap the model with one setting.
OLLAMA_MODELchanges it. I picked a tiny model so it runs on any laptop, and a bigger one is a one-line change. - I could see and fix what went wrong. The prompt, safety rules and allowed options are plain files in the repo, so when the model misbehaved, I tightened them.
A closed API would have been quicker to set up, but it would have sent a friend's data away and charged per call. Using a small model also made me build the guardrails, and I think the app is better for it.
One honest note: Gemma is open-weight under Google's own terms rather than a standard open-source licence. The app itself is MIT.
Prize Categories
Best Use of Gemma
Pawelle runs Gemma 3 1B, Google's open-weight model, locally through Ollama. It's the only AI in the app. Gemma writes the friendly summary of each plan and picks meal times and play ideas, inside a safety harness: red-flag checks run before it, its choices come from fixed lists, and everything it writes is checked afterwards.
Gemma 3 1B is small enough to run on any laptop, and a bigger Gemma (like 4B) is a one-setting change (OLLAMA_MODEL). The Ollama client and the prompt are in ollama.js and prompts.js.

Top comments (2)
Share your thoughts/ feedback ā¤ļø
Great app, I'll use it for my cat š
Some comments may only be visible to logged-in visitors. Sign in to view all comments.