Forest Clone

Forest clone · Focus timer app · built by the Vibecode team

This template rebuilds Forest, the focus timer app, with its real name, teal look and words. Drag the ring or tap 25, 45 or 60 minutes, press Plant, and a hand-drawn tree grows in four stages while the timer counts down; give up and it withers. Finished trees ring an alarm, earn coins and offer a break timer. The Overview shows your trees on an isometric island for the day, week, month or year with focus charts, and the Timeline, Store, Tags, Achievements and Settings pages all work.

  • iPhone · Swift
  • Hand-built
  • Free to remix
Forest Clone, focus timer app built with Vibecode
Remix this template

Remix copies the working app into your account for free, exactly as we built it. It runs in Vibecode's cloud iOS simulator, in your browser.

The prompt that builds it

We wrote Forest Clone by hand. This prompt describes the finished app: paste it into a new app to build your own version, or change it first.

Prompt · 767 words

Build a polished native iOS clone of Forest, the focus timer where a tree grows while you stay off your phone, in SwiftUI: plant a tree, set the time on a ring around it, watch it grow, give up and it withers. Finished trees earn coins and fill an isometric forest with stats and a timeline.

It is Forest on screen: its name, teal green #42AA93 home screen, pale lime disc #DFF0A9 with a brown dirt bowl, dark forest green #306E57 / #244F3E pages, gold coins, and its own words ("Start planting today!", "Plant", "Give up", "Stay focused, or I'll wither!", "You grew a tree!", "Your tree withered.", "Take a break", "Plant again", "Overview", "Timeline", "Focused Time Distribution", "Tag Distribution", "Real Forest", "Deep Focus"). Draw every tree, the land and the coin in SwiftUI (Canvas paths): no image assets. The user is Maya Chen.

SHELL
No tab bar: one home screen with a hamburger that opens a left drawer (Forest, Timeline, Tags, Store, Achievements, Settings, plus a Real Forest card). Pages open full screen with a dark green header (X, title, action). Opens straight on the home screen: no onboarding, login or paywall. White status bar.

SCREENS
1. Home (idle): hamburger, a capsule switch hourglass | flame (timer / stopwatch), coin pill "1,240 +". Headline "Start planting today!". A 260 pt pale disc with the dirt bowl and the chosen tree fully grown (preview), inside a ring you drag clockwise to set 10-120 min in 5-min steps (white arc + white knob, haptic ticks). Tag pill "● Study ✎" (opens Tag sheet with a note field). Big light rounded timer "25:00" (Forest style: 120:00, never 2:00:00). Chips 25 / 45 / 60 min. Rounded "Plant" button. Tap the disc to choose a tree (grid of species, locked ones show their price and open the Store).
2. Growing: the tree restarts as a sprout and grows in four stages with a springy pop, the ring fills, the time counts down, quotes rotate every 5 min ("Stay focused, or I'll wither!", "Put down your phone and get to work."...). "Give up" asks "Are you sure you want to give up?" (Keep growing / Give up). Deep Focus: leaving the app for over 10 s withers the tree (with a notification warning).
3. Success: "You grew a tree!" + "+5 coins · Cherry Blossom planted", sparkles, chime x3 + haptic + local notification if closed. "Take a break" (5/10/15/20 min countdown on a blue-teal background, "Skip break", then "Break's over. Ready to plant?") or "Plant again".
4. Withered: brown background, bare dead tree, "Your tree withered. Don't give up. Plant another one!".
5. Stopwatch (flame): counts up, tree grows over an hour, "Stop" keeps the tree after 10 min, earlier it withers.
6. Overview: header "Overview ▾" menu (switches to Timeline), share. "< Nov 3 - 9, 2026 >" and Day / Week / Month / Year (white pill selected). An isometric grass block with dirt sides and one tree per session (dead trees for withered ones), sized to the count. "22 trees planted · 0 withered · 16h 20m focused". White cards: Focused Time Distribution bar chart with the peak labelled ("240m"), Tag Distribution donut + legend %.
7. Timeline: sessions grouped by day ("Today · 3 trees · 2h 10m"): tree in a disc, "11:15 AM - 11:40 AM", tag dot + note, duration, species; swipe to delete.
8. Store: 2-column cards (tree, name, one-line blurb, "Selected" / "Use" / coin price); unlock alert spends coins; "Not enough coins" otherwise. Species: Cedar, Bush, Pine 300, Cherry Blossom 500, Lemon Tree 600, Maple 700, Cactus 400, Sunflower 800.
9. Tags (time per tag, add with name + colour, swipe delete), Achievements (First Seed, Little Grove, Deep Forest, Time Keeper, Marathon, Early Bird, Collector; progress bars, claim coins once), Settings (Deep Focus, default time, break length, alarm, test alarm, reset demo data).

LOOK
Flat cartoon trees: round layered crowns with lighter highlights, darker right half of trunks, stacked triangle pines, pink cherry, yellow lemons, orange maple, cactus with a pink flower, sunflower. Soft springs, numeric text transitions, background colour fades between phases.

RULES
SwiftData FocusSession (start, minutes, planned, tag, species, success, note, isDemo). 90 days of seeded demo history rebuilt to end "now" on each launch (your own sessions kept). Coins = 1 per 5 min + 1 per hour. Launch args -DemoTour YES, -DemoScreen <name>, -DemoTime 21:41, -ResetDemo YES.

REMIX-READY
Brand/Theme.swift (name, words, colours), Data/Fixtures.swift (species, tags, quotes, presets, coin rule), Trees/TreeArt.swift (one draw function per tree), features in small files, README.md with a file map and remix ideas.
All templates