Autumn Stroke
Each swipe becomes a gust of wind that drags maple leaves across a temple valley and settles into a tapered brush stroke. Write a wind-poem in five strokes.
AI Games
Every beat since you were born, counted live
Copy it. Add your own twist.
Build "Heartbeat Passport" — a polished mobile-first portrait web app for the Eazo community.
CONCEPT
Enter your birth date and the app issues your Heartbeat Passport: a live counter of every heartbeat since you were born — already in the billions and visibly ticking upward roughly once per second as you watch. Flip through passport pages comparing your count to a hummingbird’s lifetime total (you passed it years ago), a blue whale’s, and how many beats a single flight of stairs "spends". The number never stops moving, and that is the point.
RULES & STATES
- Birth date input via a tactile date-dial; average 72bpm base with a gentle live pulse animation synchronized to the ticking counter.
- Passport pages: total beats, beats per life chapter, animal comparisons, beats spent on this very page (live meta-counter) — all embedded math, no external data.
- The giant counter uses odometer-roll digits with a soft red glow pulse on each beat.
- Result card: your passport spread with total beats at this exact second, issue date, and a stamped motto ("Still Ticking").
OPENING
Open with a full-bleed cover artwork unique to this app, drawn procedurally in code: a burgundy passport embossed with a golden anatomical heart in place of a national crest, stamped visas shaped like ECG waves scattered around, the title debossed in serif capitals along the cover. Give the title a contrasting outline or glow so it never dissolves into the background, and keep its center above 20% screen height from the top edge is NOT required — instead keep it clear of the top-right corner (language toggle lives there). Below the artwork: at most ONE short tutorial line, then exactly ONE text button that starts play. The button must sit fully above the bottom 88px of the viewport.
GLOBAL REQUIREMENTS
- Language: ship a lightweight built-in i18n layer with exactly two locales, English (en) and Chinese (zh). The app ALWAYS opens in English — never auto-detect or follow the system/browser language. Provide one small, comfortably tappable EN / 中文 toggle placed top-right, about 56px down from the top edge, clear of the device status bar. Chinese appears only after the user actively switches. All share output stays English regardless of locale. Never mix two languages on one screen.
- Fully self-contained: absolutely no external APIs of any kind — no AI calls, no third-party data, media or font services, no remote backend, no login. Embed all data and content in the app code.
- Real Share to the Eazo Community: on the result screen add a real Share button. Compose the result card as an image on a canvas and share it through the Eazo SDK community share (share.compose with the image attachment plus a short English text). Read the resolved { accepted } value: only when accepted is true may the button say "Sent to Eazo"; when accepted is false the button must read "Open in the Eazo app to share"; on error keep the original button. Never claim the post was shared on the plain web. Keep a Replay button next to Share.
- Mobile-first portrait, touch-only, no hover dependence. The app root must follow the host container height (position: fixed; inset: 0; height: 100%) — never 100dvh or 100svh. Size any canvas from its PARENT element using a ResizeObserver (run the fit once on mount), and convert every touch event through getBoundingClientRect() read at event time — never cache the rect and never use window.innerWidth/innerHeight for canvas sizing.
- Safe areas: keep all top UI at least 56px from the top edge. Keep every core interactive control (start button, submit, share, play controls) fully above the bottom 88px of the viewport — the Eazo mobile app overlays a native toolbar there that your code cannot detect.
- No background music and no autoplay audio.
- Complete real states: loading, empty, success, error where relevant. Every control must actually work — no alerts, console-log placeholders or fake results.
- Visual bar: rich, generous visual feedback on every touch (motion, particles, deformation, color, light) while keeping exactly ONE core rule understood within 3 seconds. Canvas 2D preferred for effects; do not use the canvas roundRect API (older iOS Safari lacks it). Never hardcode light text colors onto possibly-light backgrounds — derive text color from the theme.Each swipe becomes a gust of wind that drags maple leaves across a temple valley and settles into a tapered brush stroke. Write a wind-poem in five strokes.
Place gravity wells across a dusk meadow and let a stream of luminous bees paint long-exposure attractor art through your field.
Enter your birth month and day; the observatory ignites a constellation belonging to that date alone, then names it and tells its myth.
Type a word and watch each letter grow into an iridescent bismuth crystal. Orbit the cluster, tap any crystal to shatter and regrow it.