Today
Morning and evening checklists with a quiet progress bar. Tap to check off. Optimistic, syncs in the background.
Open source · self-hosted · MIT
Petsitter is a calm, installable web app you set up once and hand to whoever is watching your animals — a friend, a neighbor, a pro. Today's checklist, every pet's quirks, the WiFi password, the emergency number, and a small house assistant they can ask anything. No accounts to set up but the one you invite.
Morning and evening checklists with a quiet progress bar. Tap to check off. Optimistic, syncs in the background.
One scrollable view: every pet's photo, quirks, care notes. WiFi, trash day, the 24-hour vet, the neighbor with the spare key.
Real web-push notifications — fire even when the app is closed. Once, daily, or weekly. Powered by your own VAPID keys.
A small Claude Haiku assistant that knows the trip notes. "What do the cats eat at night?" — answered, not guessed.
Sign-up is gated by an email you add. No anonymous accounts. Pre-assign your sitter to their trip so they land in the right place.
One screen to edit the trip — pets, photos, care notes, tasks, house notes, allowlist. Markdown supported. No SQL required.
Five steps. ~15 minutes. Self-hosted on any Docker host with a Cloudflare-fronted domain.
git clone https://github.com/ben4mn/petsitter
cd petsitter
cp .env.example .env
Fill in JWT_SECRET (openssl rand -base64 48), ANTHROPIC_API_KEY, and a VAPID keypair (npx web-push generate-vapid-keys).
cp seed.config.example.json seed.config.json
# edit it: owner email/password, pets, tasks, house notes
docker compose up -d db
cd backend && npm install && npm run seed
docker compose up -d --build
The web container listens on port 8084 and proxies /api internally to the backend.
cloudflared tunnel login
cloudflared tunnel create petsitter
cloudflared tunnel route dns petsitter sitter.your-domain.com
sudo cp cloudflared/config.example.yml /etc/cloudflared/config.yml
# edit: tunnel UUID, hostname → http://localhost:8084
sudo cloudflared service install
sudo systemctl enable --now cloudflared
Sign in as owner → Admin → Allowlist → add their email, pre-assign the trip. They register, get pushed straight into the right view.
The night before someone watches your animals, you end up writing the same sheet of paper you wrote last time. Where the wet food is, why the small dog hides at first, which neighbor has the spare key, when trash day is.
Petsitter is that sheet, but on a phone, with reminders, and an assistant who can answer the dumb questions at 11pm. It isn't trying to be a marketplace or a startup. It's a small, calm tool — yours to host, yours to hand over.