Build your own Forest with Claude Code

A focus timer that grows trees: start a focus session, a tree grows while you focus, leaving early kills the tree and more.

WeekendA working first version in a day or two

The Claude Code prompt

Build my own take on Forest: a focus timer that grows trees. Give it an original name, logo, colours and copy, and do not use Forest's name, branding or assets.

Version one should have:
- Start a focus session
- A tree grows while you focus
- Leaving early kills the tree
- Forest of past sessions
- Stats

The hard part: Detecting leaving the app. Use the page visibility API.

How to build it:
1. Read this folder first. If it is empty, set up Next.js (App Router, TypeScript, Tailwind) with Postgres through Prisma or Supabase, and Supabase Auth or Auth.js for sign-in. Write a short PLAN.md with the data model, screens, third-party services and what you are leaving out of version one.
2. Build the core loop end to end before anything else: start a focus session, working with real data saved to the database.
3. Add the rest of the features one at a time, and seed realistic demo data so every screen looks alive.
4. Keep API keys in environment variables, and put any paid service behind a small interface with a local stub, so the app runs on a fresh machine without accounts.
5. Run it, click through every screen on desktop and mobile widths, fix what breaks, and finish with a summary of what works, what is stubbed and how to deploy it.

Paste it into Claude Code in an empty folder. It plans first, so read PLAN.md and steer before it starts building.

Version one

  • Start a focus session
  • A tree grows while you focus
  • Leaving early kills the tree
  • Forest of past sessions
  • Stats

The hard part

Detecting leaving the app. Use the page visibility API.

Make it yours: a niche Forest ignores, an original name and brand, and one feature it does badly done well.

More to build

More in Productivity · Every build idea