Keep your plants, fish, and pets thriving — together with family and roommates.
CareKeeper helps you and your household keep track of who last cared for your living things — and when they need attention next.
The problem it solves: You water a plant, but your roommate doesn't know and waters it again (overwatering). Or nobody feeds the fish because everyone assumes someone else did it. Sound familiar?
How it works: Each plant, fish, or pet has a "health bar" that slowly drops over time. When someone logs a care action (watering, feeding, walking), the bar resets to 100%. Everyone in your household sees the same bar in real time.
100% ████████████████████ Just watered!
75% ███████████████ 1.75 days ago
50% ██████████ 3.5 days later...
25% █████ Getting low...
0% HELP! Needs care now!
No more guessing. No more "did you feed the fish?" No more forgotten plants dying in the corner.
- Roommates sharing plant watering duties
- Families with pets (who fed the cat today?)
- Couples caring for an aquarium together
- Anyone who forgets to water their plants (no judgment)
- People who want a gentle reminder system without annoying notifications
- Shared rooms — Create a room, share a 6-character code, done. No accounts needed.
- Health bar — See at a glance what needs care and what's fine.
- Action history — Know who did what, and when.
- Backdate — Forgot to log yesterday? No problem.
- Photo log — Snap a photo when you care.
Something looks wrong with your plant? Fish acting strange? Take a photo and let AI figure it out.
- Identifies the species from a photo
- Scores health on a 0-100 scale
- Explains what's wrong in plain language
- Gives step-by-step treatment (with where to buy materials)
- Suggests daily care routines
- Follow-up chat for more questions
Works with any species — plants, fish, cats, dogs, birds, reptiles, anything alive.
Bring your own AI key (OpenRouter recommended). Your key stays in your browser — we never see it.
git clone https://github.com/EyanJin/CareKeeper.git
cd CareKeeper/packages/web
npm install
npm run devOpen http://localhost:5173 and you're done. Create a room, share the code with your household.
Everything works offline with browser storage by default. No backend setup needed for personal use.
If you're in China, you can use the WeChat version:
cd examples/wechat-miniprogram
# Open in WeChat DevTools, configure your cloud environmentSee docs/deploy-wechat.md for setup.
Want the same data on your phone and laptop? Set up a real backend:
cp packages/web/.env.example packages/web/.env
# Edit .env: choose firebase or supabase, add your credentialsSee docs/deploy-web.md for Firebase/Supabase guides.
The AI diagnosis feature is free to try in demo mode (no key needed). To use it for real:
- Click ⚙️ in the app header
- Choose OpenRouter (recommended — works directly in browser, no extra setup)
- Get a free key at openrouter.ai
- Paste your key, test the connection, save
- Now "AI Diagnose" will analyze your real photos
Other supported providers: OpenAI (GPT-4o), DashScope (通义千问), DeepSeek, or any OpenAI-compatible API.
You're not limited to plants and fish. Track anything:
{
id: 'cat',
name: 'Cat',
icon: '🐱',
decayDays: 1, // needs feeding every day
actionLabel: 'Feed',
color: '#ff6b35',
colorLight: '#ffa07a',
category: 'mammal', // helps AI give better diagnosis
}More examples: dogs (decayDays: 0.5 for walks), succulents (decayDays: 14), medication reminders (decayDays: 1).
CareKeeper/
├── packages/
│ ├── core/ # Health calculation + AI diagnosis engine (TypeScript)
│ │ └── src/diagnosis/ # Prompt builder, response parser, types
│ └── web/ # React + Vite + Tailwind web app
│ └── src/
│ ├── adapters/ # Firebase / Supabase / Mock (localStorage)
│ ├── components/ # UI components
│ ├── hooks/ # React hooks (useActions, useDiagnosis, useChat)
│ ├── lib/ # AI client, image compression
│ └── pages/ # Dashboard, Diagnosis, Chat, Settings
├── examples/
│ └── wechat-miniprogram/ # WeChat mini-program example
└── docs/ # Guides + CORS proxy template
| Layer | Technology |
|---|---|
| Core | TypeScript, zero dependencies |
| Web | React 19, Vite, Tailwind CSS |
| AI | OpenAI-compatible API (bring your own key) |
| Backend | Firebase, Supabase, or localStorage |
| Native mini-program + CloudBase |
# Run tests (55 tests)
cd packages/core && npm install && npm test
# Dev server
cd packages/web && npm install && npm run dev
# Type check
cd packages/web && npx tsc --noEmit
# Production build
cd packages/web && npm run build
# Generate screenshots
cd packages/web && node scripts/screenshot.mjsContributions welcome:
- New species presets and diagnosis demo data
- Platform ports (iOS, Android, Telegram bot)
- AI provider integrations
- UI themes
- Translations
- Bug fixes
MIT






