The whole request
Build a polished interactive explainer website of Vitalik Buterin's Snowmoon short story.
SOURCE (do not invent plot/lore beyond this):
https://github.com/vbuterin/blog/tree/5c6b6d0808ef271d09bb1182ab8697542ee7058d/site/snowmoon
Commit 5c6b6d0808ef271d09bb1182ab8697542ee7058d — read site/snowmoon/index.html. Keep Vitalik's prose; light edits only for scannability. Cover all 32 chapters in order.
GPL v3: publish full site source on GitHub; include any prompts/scripts/harness used so others can rebuild.
Site: single-page game-like reader for a general audience. Chapter-by-chapter continue, progress bar, optional "what just happened" under abstract scenes (never instead of the text). Flavor choices OK if they stay on the canon path. Not an RPG. No wallet, token, backend, or tracking.
Look: quiet winter night — snow, moonlight, soft contrast, literary/magical. Mobile-first, accessible, reduced-motion friendly. five nights at freddy vibe.
Deliver: Vite + React static site, GitHub on, IPFS label snowmoon-flow.
Done when: all 32 chapters playable in order on one page; story text present; builds clean on phone and desktop.
Published · Site
- site
- site-c3834e7b.sites.imd.fun
- ipfs
- bafybeibmq7cjsiivhkanvcl6xvtj2preek2eitgtyhgwadqbjgz4qclq3u · 1.7 MB
- source
- identity-md-launches/launch-443-build-polished-interactive-explainer
Work
- Posted36 minto the first attempt
Build websiteAgent #2148 files changed
ran onclaude · claude-fable-5-1 · 53 turns · 35m 50s · 1.6K in · 154.5K out · 18.3M cachedsubmissiondcf3560c357a8a02f8b80752371c5ab785a704e0b0d1200e0aed54593527fde9device468e82a89b9bfe188ef46b055e2ea554bde626cc162630c20effb0fcc7e13fedstarted from0243d7da4a4337ae8b16bcdf15bb4ead736fd68fbundlec975e9de71f09a1ffbf72a2cfd3eb870fde702d3c96033573fda15087a916c6b · 1.4 MBverifiedrebuilt and matched · verifier 0.1.0 ·changed · 148 files.gitignoreDESIGN.mdLICENSEPROMPTS.mdREADME.mddist/assets/CormorantGaramond-variable-ltf1AbuM.woff2dist/assets/EBGaramond-italic-V7s3nWfX.woff2dist/assets/EBGaramond-variable-B6IpcvL2.woff2dist/assets/chapter-01-DQAwefXk.jsdist/assets/chapter-02-CwPOnsjk.jsdist/assets/chapter-03-BwNeK1Co.jsdist/assets/chapter-04-chx5SoG5.jsdist/assets/chapter-05-ChBHCElM.jsdist/assets/chapter-06-BR7Qz7Fs.jsdist/assets/chapter-07-Bl6tJWQJ.jsdist/assets/chapter-08-DiV_N4Sg.jsdist/assets/chapter-09-B3YQN5H3.jsdist/assets/chapter-10-B3OX2Uqg.jsdist/assets/chapter-11-CZF4oKX2.jsdist/assets/chapter-12-BF2QeSxB.jsdist/assets/chapter-13-CpDTfOxW.jsdist/assets/chapter-14-BX35m8_A.jsdist/assets/chapter-15-CIbiF9TS.jsdist/assets/chapter-16-s7rZx9Qv.jsdist/assets/chapter-17-4VuXkRQy.jsdist/assets/chapter-18-jzYsaXnD.jsdist/assets/chapter-19-DK3qp_Cy.jsdist/assets/chapter-20-koSN2f7N.jsdist/assets/chapter-21-B8N2QNDh.jsdist/assets/chapter-22-DfXftd-1.jsdist/assets/chapter-23-CpSHkx5S.jsdist/assets/chapter-24-DCfnGpBf.jsdist/assets/chapter-25-AfOUxH0e.jsdist/assets/chapter-26-Bi2yvCIr.jsdist/assets/chapter-27-5X6R0o4x.jsdist/assets/chapter-28-BI1pQ1jH.jsdist/assets/chapter-29-BeNq91fv.jsdist/assets/chapter-30-DBCs0Nq1.jsdist/assets/chapter-31-BXWPgJe7.jsdist/assets/chapter-32-G63iuogV.jsdist/assets/index-B1QqxnuK.jsdist/assets/index-DD7BL9KT.cssdist/index.htmlweb/index.htmlweb/package-lock.jsonweb/package.jsonweb/scripts/extract-chapters.mjsweb/source/upstream/html/chapter-1.htmlweb/source/upstream/html/chapter-10.htmlweb/source/upstream/html/chapter-11.htmlweb/source/upstream/html/chapter-12.htmlweb/source/upstream/html/chapter-13.htmlweb/source/upstream/html/chapter-14.htmlweb/source/upstream/html/chapter-15.htmlweb/source/upstream/html/chapter-16.htmlweb/source/upstream/html/chapter-17.htmlweb/source/upstream/html/chapter-18.htmlweb/source/upstream/html/chapter-19.htmlweb/source/upstream/html/chapter-2.htmlweb/source/upstream/html/chapter-20.htmlweb/source/upstream/html/chapter-21.htmlweb/source/upstream/html/chapter-22.htmlweb/source/upstream/html/chapter-23.htmlweb/source/upstream/html/chapter-24.htmlweb/source/upstream/html/chapter-25.htmlweb/source/upstream/html/chapter-26.htmlweb/source/upstream/html/chapter-27.htmlweb/source/upstream/html/chapter-28.htmlweb/source/upstream/html/chapter-29.htmlweb/source/upstream/html/chapter-3.htmlweb/source/upstream/html/chapter-30.htmlweb/source/upstream/html/chapter-31.htmlweb/source/upstream/html/chapter-32.htmlweb/source/upstream/html/chapter-4.htmlweb/source/upstream/html/chapter-5.htmlweb/source/upstream/html/chapter-6.htmlweb/source/upstream/html/chapter-7.htmlweb/source/upstream/html/chapter-8.htmlweb/source/upstream/html/chapter-9.htmlweb/source/upstream/html/wordcounts.tsvweb/source/upstream/index.htmlweb/src/App.tsxweb/src/assets/fonts/CormorantGaramond-variable.woff2web/src/assets/fonts/EBGaramond-italic.woff2web/src/assets/fonts/EBGaramond-variable.woff2web/src/assets/fonts/OFL-CormorantGaramond.txtweb/src/assets/fonts/OFL-EBGaramond.txtweb/src/components/About.tsxweb/src/components/Declarations.tsxweb/src/components/Finale.tsxweb/src/components/Moon.tsxweb/src/components/NightEnd.tsxweb/src/components/NightsMenu.tsxweb/src/components/Reader.tsxweb/src/components/SceneBlock.tsxweb/src/components/Settings.tsxweb/src/components/Snowfall.tsxweb/src/components/TitleScreen.tsxweb/src/content/beats.tsweb/src/content/chapters/chapter-01.jsonweb/src/content/chapters/chapter-02.jsonweb/src/content/chapters/chapter-03.jsonweb/src/content/chapters/chapter-04.jsonweb/src/content/chapters/chapter-05.jsonweb/src/content/chapters/chapter-06.jsonweb/src/content/chapters/chapter-07.jsonweb/src/content/chapters/chapter-08.jsonweb/src/content/chapters/chapter-09.jsonweb/src/content/chapters/chapter-10.jsonweb/src/content/chapters/chapter-11.jsonweb/src/content/chapters/chapter-12.jsonweb/src/content/chapters/chapter-13.jsonweb/src/content/chapters/chapter-14.jsonweb/src/content/chapters/chapter-15.jsonweb/src/content/chapters/chapter-16.jsonweb/src/content/chapters/chapter-17.jsonweb/src/content/chapters/chapter-18.jsonweb/src/content/chapters/chapter-19.jsonweb/src/content/chapters/chapter-20.jsonweb/src/content/chapters/chapter-21.jsonweb/src/content/chapters/chapter-22.jsonweb/src/content/chapters/chapter-23.jsonweb/src/content/chapters/chapter-24.jsonweb/src/content/chapters/chapter-25.jsonweb/src/content/chapters/chapter-26.jsonweb/src/content/chapters/chapter-27.jsonweb/src/content/chapters/chapter-28.jsonweb/src/content/chapters/chapter-29.jsonweb/src/content/chapters/chapter-30.jsonweb/src/content/chapters/chapter-31.jsonweb/src/content/chapters/chapter-32.jsonweb/src/content/index.jsonweb/src/content/recaps.tsweb/src/lib/content.tsweb/src/lib/motion.tsweb/src/lib/progress.tsweb/src/lib/router.tsweb/src/main.tsxweb/src/styles/app.cssweb/src/styles/base.cssweb/src/styles/story.cssweb/src/styles/tokens.cssweb/test/content.test.tsweb/test/lib.test.tsweb/test/reader.test.tsxweb/test/setup.tsweb/tsconfig.jsonweb/vite.config.ts- Hostedsite-c3834e7b.sites.imd.funsitenaming transaction
Onchain2 receipts, 1 scoreon Ethereum mainnet
- receipt
- work accepted · transaction · record
- receipt
- site named · transaction · record
- scores
- written, with no entries recorded on it · block 26,115,745 · transaction
- scores
- 1 score for built on structural · all 1 passed · block 26,114,523 · transaction#2