Browser & Mini

Just Keep Folding

One 0.1mm sheet, folded until it outgrows the universe

Play now

The original prompt.

Copy it. Add your own twist.

Read the complete original prompt
APP NAME
Just Keep Folding

APP IDEA
A single sheet of paper that doubles in thickness every time you fold it, with a running comparison that keeps finding bigger and bigger real things it has just passed.

CORE EXPERIENCE
The app opens on a photo-realistic single sheet of paper with a fold counter above it reading 0 folds, a sentence stating the paper is 0.1mm thick, and two controls: Unfold and Fold. Each Fold doubles the thickness and re-renders the stack visibly thicker.

INTERACTION AND STATE
Thickness is 0.1mm times 2 to the power of the fold count. After each fold, restate the thickness in the largest sensible unit (mm, cm, m, km, then multiples of well-known distances) and name a real object or distance the stack has just exceeded, such as a book, a person, a building, a mountain, the atmosphere, the Moon's distance, the Sun, the solar system, the nearest star, the galaxy, and finally the observable universe. Unfold steps back one fold and is disabled at zero. Keep folding available well past the point of absurdity; use big-number formatting so the readout never breaks. The paper illustration grows in visible layers up to a readable limit and then switches to a stylised stack with the count.

VISUAL AND CONTENT DIRECTION
Light neutral page, a single centred card, and a realistic white paper sheet with soft drop shadow and a slight curl at one corner. Fold is a solid green primary control, Unfold is a quiet secondary. The comparison sentence sits directly under the paper in medium weight.

OUTCOME
A final thickness readout with the real-world thing it has just surpassed, plus the number of folds it took.

ONE-SENTENCE INSTRUCTION
Press Fold to double the paper, and watch what it outgrows.

TASK-SPECIFIC REQUIREMENTS
Number formatting must stay exact and readable at extreme magnitudes; switch to scientific notation with a plain-language comparison once ordinary units stop being meaningful. Do not cap the fold count at a small number.

Server-render determinism: do not call Date.now(), new Date() or Math.random() during initial render. Read the clock and generate randomness only inside client effects, and hard-code the default locale to English rather than detecting navigator.language, so first paint is identical on server and client and never produces a hydration mismatch.

REPLICATION SCOPE

This specification is a faithful rebuild of an existing reference experience, described here in full. Reproduce it as closely as the platform allows.

Must be reproduced exactly: the complete content inventory listed above with its exact ordering and wording, the mechanic and its state transitions, the copy voice, the visual structure and the overall pacing. Do not add levels, items, scoring, achievements, timers, onboarding or extra features that are not described here. Do not drop or abbreviate any listed content.

Acceptable platform adaptations, and only these: touch input in place of mouse input; layout reflow for a phone-sized portrait host; the bilingual layer, the one-sentence instruction and the result/Replay/Share affordances required below; and host safe-area insets. Everything else stays as specified.

All content must be self-contained. Do not call any external API, data service, map, media or image service at runtime; every dataset, table, constant and asset this app needs must live inside the project.

IMPLEMENTATION INSTRUCTIONS

Treat this specification as the final implementation brief and build the complete app now.

Open directly into the live app experience. Do not add a splash screen, opening cover, welcome page or separate onboarding flow.

Include exactly one concise sentence that explains how to play or use the app. Use the sentence provided under ONE-SENTENCE INSTRUCTION. Show it inside the live app interface, not on a separate opening screen.

Internationalization is required. Implement a lightweight built-in i18n layer supporting exactly two locales: English (en) and Simplified Chinese (zh). The app must always open in English and must never auto-detect or follow the browser, device or system language. Provide one clear EN / 中文 language toggle. Every user-facing string, including the one-sentence instruction and all loading, empty, success, error and result states, must have complete English and Chinese versions. Switching languages must update the entire interface without mixed-language text or untranslated fallback strings.

Let Eazo adapt the app to its actual host and available viewport. Do not hard-code or target a particular browser size, device size, viewport width or height, App frame size, root-height formula, or host-container CSS implementation. In the live preview, keep the current primary action easy to discover and usable without requiring an initial downward scroll; avoid horizontal overflow and avoid decorative layers blocking required controls. Optional detail may scroll. Keep active media and secondary copy compact enough that the next action remains visible. In result states, show the summary plus Replay and Share before optional detail. Do not eagerly render a large collection of full-size result images in one long page; use a compact summary, carousel, pagination, expansion, or virtualization. Use accessible touch targets.

Respect the host safe areas for iPhone notches, Dynamic Island, the status bar and the bottom home indicator in the initial implementation, before the first preview. Apply the safe-area treatment to the App's entire usable content region across the live flow, result, modal, empty and error states, not only to the first header. Keep the header, language toggle, primary controls and result actions entirely inside the usable safe area. In the standard Eazo mobile host, use `padding-top: max(56px, env(safe-area-inset-top, 0px))` and `padding-bottom: max(34px, env(safe-area-inset-bottom, 0px))`, or Eazo's current official safe-area equivalent. If the header or action footer is sticky or fixed, include the matching inset in that region and reserve content clearance so it does not overlap the scrollable body. These are safe-area insets only, not fixed viewport or App-frame dimensions; continue to let Eazo adapt the overall width and height. Make sure flex children can shrink inside the remaining usable area and that required controls are not covered or pushed off screen.

Use Eazo's built-in defaults and official platform capabilities. Do not add unrelated features or expand the scope beyond this specification.

When implementation is complete, provide a working preview for QA.

Bakery Pin

Tap the left and right flippers to keep the ball alive and light targets in sequence, unfolding the bakery table upward zone by zone.

Play

Bee Bloom

Your bee orbits the nearest bloom; tap to sling it along a tangent into the next flower's pull, chaining a pollen trail across a giant garden.

Play
THE ORIGINAL CREATION PROMPT

The idea that started this app. Copy it, change it, make it yours.

Play app ↗Open Eazo ↗