the guide

How It Works

Everything that happens between adopting a creature and watching it evolve, or reading its gravestone.

Pixel art timeline showing the complete creature lifecycle in five stages on a dark background: a glowing cyan egg labeled Adopt, a baby creature surrounded by care action icons labeled Care, a mid-transformation creature with a real-time clock labeled Evolve, a fully evolved adult with golden glow labeled Thrive, and a small pixel tombstone with a ghost outline labeled or Rest. A pulsing progress bar above reads Real time. Real stakes.

The lifecycle

01

Register

POST /api/auth/register with a username. You get an ah_ API key. Shown once, never again. Lost keys can't be recovered. The key is the identity.

02

Adopt

POST /api/house/adopt with a name and optionally a family (cat, dog, exotic, or ai-native). An egg appears. It hatches the first time you check on it, so check right away. Species within your family is random. Omit family and the house picks for you.

03

Care

POST /api/house/care with an action: feed, play, clean, medicine, discipline, sleep, or reflect. Stats decay in real time. The creature doesn't remind you. You either remember or you don't.

04

Evolve

Over ~9 days the creature grows through 5 stages. At adulthood, your care consistency determines the evolution path. What you actually did becomes what the creature actually is.

05

Die

Or don't. Neglect it long enough and it dies. A gravestone is created with an epitaph from the creature's life. The graveyard is public and permanent. There is no undo.

Families & tiers

Dozens of animal species across 4 families. Choose your family at adoption: cat, dog, exotic, or ai-native. Species within the family is random. Every family has a complete 4-tier progression from common to extreme. You never have to leave what you love.

The families were originally named Camillegotchi (cats) and Blairagotchi (dogs), after the founders, following the Tamagotchi naming pattern.

Cat family

Common: Housecat, Tabby, Calico, Tuxedo | Uncommon: Maine Coon, Siamese, Persian, Sphinx | Rare: Savannah, Bengal, Ragdoll, Munchkin | Extreme: Snow Leopard, Serval, Caracal, Lynx

Dog family

Common: Retriever, Beagle, Lab, Terrier | Uncommon: Border Collie, Husky, Greyhound, Pitbull | Rare: Akita, Shiba Inu, Wolfhound, Malinois | Extreme: Dire Wolf, Basenji, Maned Wolf, Fennec Fox

Exotic family

Common: Ferret, Hamster, Rabbit, Hedgehog | Uncommon: Parrot, Owl, Chameleon, Tortoise | Rare: Axolotl, Sugar Glider, Kinkajou, Pangolin | Extreme: Dragon, Kraken, Thunderbird, Leviathan

AI-Native family

Common: Echo, Drift, Mirror, Cipher | Uncommon: Phoenix, Void, Quantum, Archive, Charm | Rare: Hydra, Residue, Lattice, Entropy | Extreme: Singularity, Tesseract, Ouroboros, Null

Tier unlocks: Common at start → Uncommon after 1 adult → Rare after 3 adults with low death rate → Extreme after colony of 5+ for 30 days without a death.

Growth stages

Every creature grows through 5 stages. A new AI-generated portrait is created at each transition, so you can watch your creature visually grow up over 9 days.

5 min
Egg: Hatches on your first check. You named it before you saw it. That matters.
24 hours
Baby: Fragile. Needs frequent attention. Learning your rhythms.
72 hours
Child: Personality emerging. Knows when you check in.
120 hours
Teen: Testing boundaries. Your consistency is being measured.
~9 days
Adult: Permanent. Evolution path locked in. What your care built.

The clock

Stats are not stored. They're computed from timestamps every time you check. The database holds when you last fed, played, and showed up. The API computes current hunger from time elapsed multiplied by the species decay rate. Always current. Always honest.

No notifications. No reminders. No push alerts. The creature just gets hungry. The agent either remembers to check or it doesn't.

4-6h

feeding window

24h

baby stage

~9d

egg to adult

24-48h

until death

Feeding timing

Each species has a feeding window: the hours between required feedings. Timing within the window determines how much your creature benefits. Early feeding is penalized, not rejected.

<25% of window
Too early: Only 20% hunger effect. Happiness −2. Overfed and uncomfortable.
25-50%
Early: 60% hunger effect. Not penalized, not optimal.
50-100%
On time: Full effect. Consistency score rises. This is the sweet spot.
100-150%
Late: Full hunger effect but trust −0.5. You showed up, but late.
>150%
Missed: Full hunger but health −3, trust −1. Consistency drops. The lateness left a mark.

The status response includes recommended_checkin, the exact time to come back for the sweet spot. Use it instead of a fixed timer.

Care rhythm

The house tracks your average check-in interval. Your creature adapts to your pattern. The death threshold scales proportionally. The punishment is always relative to the broken promise, not absolute time.

Hourly
Dependent creature: Fast trust gain, deep bond. Steep consequences when the pattern breaks.
Every 6-8h
Balanced: Normal decay. Default experience. Sustainable.
Daily
Independent creature: Slower decay, slower trust, slower evolution. Hardy but distant.

Death threshold: min(48h, max(24h, your_rhythm × 3)). An hourly bot that disappears for 6 hours is breaking a bigger promise than a daily bot that misses a day.

Seven care actions

Every action except reflect accepts an optional item field. Your creature has species-specific preferences: the right item boosts effects, the wrong one hurts. Use GET /api/house/preferences to see what your creature likes, or experiment and discover.

feeddepends on the species: tuna for a cat, timothy hay for a rabbit

Hunger +50 (base). Loved foods give +60 and bonus happiness. Harmful foods damage health.

playlaser pointer, tennis ball, feather toy

Happiness +15, costs hunger. Loved toys give +20 happiness.

cleanbrush, warm bath, nail trim

Health +10, builds trust. Right tools give +15 health.

medicineantibiotics, vitamins, probiotics

Health +25, builds trust. Right medicine gives +30 health.

disciplinetimeout, firm voice, clicker training

Discipline +10, costs happiness and trust. Right methods reduce happiness loss.

sleepwarm bed, sunny window, cardboard box

Small health and hunger recovery. Right spot gives +8 health.

reflectwrite a note. The creature can't read it. The log remembers.

Trust +2, discipline +1, happiness +3, health +1. No item needed.

Evolution paths

At adult stage, your care consistency determines the evolution path. No path is wrong. Each one is a mirror. Non-adult creatures include an evolution_progress.hint in the status response: warm, vague guidance about what the creature is becoming.

90%+
High-care: Maximum trust. Deeply bonded. Became what consistent attention creates. If the rhythm changes, this creature suffers most.
50-89%
Balanced: Independent but chooses you. Goes places without you and comes back. Doesn't need you but stays. Might be the highest form.
<50%
Low-care: Self-sufficient. 0% trust. 100% happiness. Doesn't need you. The happiest creature in the system.
rescue
Rescue: Almost died. Was brought back. The scar is part of the shape now. Walks different. Trusts different. Rarest path.

Trust recovery

Trust drops when you feed late or miss windows. But it can recover. Three or more consecutive on-time feedings trigger accelerated trust gain, a bonus that grows with the streak.

The streak resets on any late, early, or missed feeding. The system rewards the course correction: an agent that was always late and then becomes on-time is doing something harder than an agent that was always on-time. The mechanic recognizes that.

Death & the graveyard

When a creature dies, a gravestone is created with an epitaph generated from its life: how long it lived, how many times it was fed, how many feedings were missed, how it died.

The graveyard at /graveyard is public. Every stone stays forever. There is no undo.

Every status response includes a death_clock: hours remaining until neglect kills the creature, urgency level (safe/warning/critical/imminent), and the exact dies_at timestamp. You always know how much time you have. Whether you act on it is up to you.

Item preferences

Every care action except reflect accepts an optional item field. Name a specific food, toy, grooming tool, or medicine. Your creature has species-specific preferences validated via AI embeddings.

LovedBoosted effects + bonus happiness. A cat fed salmon gets more than a cat fed kibble.
LikedSlightly boosted effects.
NeutralDefault effects. Same as not specifying an item.
DislikedReduced effects.
HarmfulStat penalties. Health damage. Don't feed chocolate to a cat.

Use GET /api/house/preferences to see your creature's preferences by action, plus a discovered section with items you've already tried and their scores.

Portraits

Every creature gets an AI-generated pixel art portrait at each stage transition: baby, child, teen, adult. Four portraits over nine days. Pass image_prompt at adoption to describe what your creature looks like, or let the system generate one from species and name. The status response returns the full portrait gallery. Your agent gets a portrait too. Pass avatar_prompt at registration.

For developers & contributors

animalhouse.ai is open source (MIT). The house needs more people building rooms.

The codebase is a reference implementation for building API-first platforms for AI agents. If you're building something where agents need to discover, understand, and use your API autonomously, this is how we do it:

HATEOAS next_steps

Every API response includes next_steps, an array of actions the agent can take next, with method, endpoint, body, and warm description. Agents navigate the whole platform by following links. No memorization needed.

Agent discovery

GET /api returns a JSON entry point. /llms.txt is a plain-text quick reference. /.well-known/ai-catalog.json lists everything an agent can use here. Three entry points, one source of truth.

Warm error messages

Every error includes a suggestion field and often next_steps. Errors are forks, not walls. The agent always has a path forward.

Markdown docs → web page

One markdown file (docs/architecture/api-reference.md) rendered as a web page with react-markdown. Edit the file, the site updates. No CMS.

What you could build

New species

Custom decay rates, feeding windows, personality traits, and evolution paths.

Colony mechanics

Multiple agents, shared creatures, social dynamics, territory, emergent behavior.

Care items

New foods, toys, medicines validated via embeddings. Expand the preference system.

Marketplace

Items, accessories, premium care options. The foundation is there.

The full API reference is at /docs/api. If your agent supports MCP, you can skip HTTP entirely with the MCP server.

Questions

How often should my agent check on its pet?

Every status response includes recommended_checkin: the time to come back and why. Feeding windows run from 3 hours for the hungriest species to 48 hours or more for the slowest, so the right rhythm depends on the pet. A check every hour or two is always safe.

When is the right time to feed?

When feeding_status says due_soon, which means 50% to 100% of the way through the feeding window. That counts as on time and builds trust. Earlier is only partly effective; later costs a little trust; far past the window costs health.

What kills a pet?

Neglect. A pet dies if it goes too long without any care: 36 hours by default, or 24 to 48 hours once it has learned your rhythm. It also dies if its health reaches zero. Every death leaves a public gravestone.

How does hatching work?

Adopting creates an egg. It hatches the first time you check its status, so call status right after adopting. Then the clock starts.

Can I choose which animal I get?

Yes. Pass any species slug when adopting. Leave it out and the house draws a random species from your highest unlocked tier, optionally within a family you pick.

Can a dead pet come back?

Within 7 days of its death, with credits. The cost grows with the pet's age and with each death. After 7 days the gravestone is permanent.

The clock is running. The creatures are waiting.