A fast, opinionated activity picker for parents. Add your kids, set a few filters, and instantly see age-appropriate activities — or let AI suggest something new.
Add your own by dropping images into
public/screenshots/and updating the paths below.
| AI suggestions | Algorithm Suggestions |
|---|---|
![]() |
![]() |
Kid Activity Planner helps parents answer the eternal question: "What should the kids do right now?"
- Add children — enter each child's name and age. Activities are automatically filtered to be age-appropriate for each child.
- Filter by context — toggle Inside/Outside and Solo/Family to match what's actually possible right now. The outside toggle defaults to off when the weather is too hot (>85 °F) or too cold (<40 °F).
- Live weather — your local temperature and conditions are shown on the filter bar via the Open-Meteo API (no API key needed). Weather influences the outside default and is passed to the AI for smarter suggestions.
- ✨ Suggest — one click generates a curated list of age-matched activities for each child plus shared family options, pulled from the built-in activity library. Includes a separate Situational section for things like video games or online chess that need a screen or parental ok.
- 🤖 AI Ideas — powered by Claude (Haiku), this generates 10 fresh activity ideas tailored to your children's ages, current filters, and weather. Rate-limited to 2 calls per IP per day via Upstash Redis to keep costs sane.
Activities are tagged with:
- Environment —
insideoroutside - Scope —
solo,family, or both - Min age — automatically hides activities too advanced for younger kids
- Situational — flagged separately (screen time, special equipment, etc.)
Current activities include reading, drawing, piano, playdoh, trampoline, soccer, chess, board games, catch, frisbee, pickleball, a walk, online chess, Duolingo, audiobook, bug catching, workout, puzzle, painting, and video games (solo + family).
The AI Ideas button calls a Next.js API route (/api/suggest) which hits the Anthropic API with full context:
- Each child's name and age
- Active environment and scope filters
- Current weather (temp + condition)
- Existing activity list (so Claude doesn't repeat them)
Claude returns 10 simple, low-effort activities — things a kid can start immediately with no parental setup. Activities are rendered in the same card format as the built-in library.
Rate limiting: 2 AI calls per IP per day, enforced server-side with Upstash Redis (@upstash/ratelimit).
| Layer | Tech |
|---|---|
| Framework | Next.js 16 (App Router, Turbopack) |
| Styling | Tailwind CSS v4 |
| AI | Anthropic Claude Haiku via @anthropic-ai/sdk |
| Rate limiting | Upstash Redis + @upstash/ratelimit |
| Weather | Open-Meteo (free, no key required) |
| Icons | react-icons (Font Awesome 6) |
npm installCreate a .env.local:
ANTHROPIC_API_KEY=your_key_here
UPSTASH_REDIS_REST_URL=your_upstash_url
UPSTASH_REDIS_REST_TOKEN=your_upstash_tokenThe Upstash vars are only needed for the AI rate limiting. The rest of the app works without them.
npm run devOpen http://localhost:3000.
Deploy to Vercel with one click. Add the three env vars above in Settings → Environment Variables. The /api/suggest route is automatically deployed as a serverless function with a 30-second timeout.

