A cinematic, interactive love story told through 28 chapters. Scroll through scarlet poppies, shared coffee, unsent letters, passing trains, and the things that stay.
Website: avoid.love
Cloudflare preview: avoid-love.avoid-love-v4.workers.dev
- Scroll-controlled films with continuous scene transitions and responsive framing.
- Interactive paper, photographs, envelopes, a turning key, and oversized clocks.
- Petal, ink, rain, and light effects woven into the story.
- A living background and continuously looping petal finale.
- Mobile layouts, keyboard navigation, reduced-motion support, and a complete reading version.
Requires Node.js 22.12 or newer. Node.js 24 LTS is recommended for deployment.
npm ci
npm run dev -- --port 4188npm test
npm run build
npm run preview -- --port 4188The build outputs a static website in dist/. Runtime media are included in public/; no API keys or backend services are required to view the site.
The repository includes a Cloudflare Workers static-assets configuration. Sign into the Cloudflare account that owns avoid.love, then:
npx wrangler login
npm run deployThe custom domain avoid.love is configured in wrangler.jsonc. For Cloudflare Git builds, select this repository, use npm run build as the build command, and npx wrangler deploy as the deploy command.
| Path | Purpose |
|---|---|
src/ |
Story timeline, canvas rendering, interactions, styles, and accessibility |
public/ |
Responsive artwork, film frames, video loops, fonts, and social preview |
tests/ |
Automated timeline, rendering, caching, and interaction checks |
scripts/ |
Asset preparation, media generation, and browser QA utilities |
research/ |
Art direction, generation provenance, development history, and QA notes |
Generated media were produced during development. Optional generation utilities read OPENROUTER_API_KEY from the local environment; do not commit credentials. See development notes and QA notes for production history and validation details. Browser audits use Chromium; physical-device Safari performance has not been comprehensively measured.
No open-source license is granted for this project's code or original media. Third-party font licenses are included with their assets.
