Skip to content

caleblawrence/kid-activity-generator

Repository files navigation

🧒 Kid Activity Planner

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.


Screenshots

Add your own by dropping images into public/screenshots/ and updating the paths below.

AI suggestions Algorithm Suggestions
Main view Suggestions

What it does

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.

Activity library

Activities are tagged with:

  • Environmentinside or outside
  • Scopesolo, 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).


AI suggestions

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).


Tech stack

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)

Getting started

npm install

Create a .env.local:

ANTHROPIC_API_KEY=your_key_here
UPSTASH_REDIS_REST_URL=your_upstash_url
UPSTASH_REDIS_REST_TOKEN=your_upstash_token

The Upstash vars are only needed for the AI rate limiting. The rest of the app works without them.

npm run dev

Open http://localhost:3000.


Deployment

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.

About

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.

Topics

Resources

Stars

Watchers

Forks

Contributors