Commit Graph

5 Commits

Author SHA1 Message Date
claude-code dd9497193a Bound the prerendered archive window
Build and push image / build (push) Successful in 8m18s
Prerendering every past answer page in six languages meant 700 static pages,
and the CI runner blew past Next's 60s per-page export timeout on
/puzzle/236, failing the build. The set also grew by six pages a day, so
every build would have been slower than the last.

generateStaticParams now covers the most recent 30 days per locale (202
pages, ~35s locally). Older days keep working exactly as before: they are
still linked, still in the sitemap and still indexable, but render on first
request and are then cached by ISR — measured at 180ms cold.

Also raises staticPageGenerationTimeout to 180s for headroom, since the
runner shares a host with Gitea and Postgres.

Refs #6

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QvQ1ErZNRUcWgCEkJ9uyrn
2026-08-26 13:04:49 +00:00
claude-code 0de85cbc51 Localize the archive, add reminders, named challenges and a funnel
Build and push image / build (push) Failing after 15m20s
Archive and answer pages now exist in all six languages and are prerendered
instead of rendered per request, and each answer page carries a sentence of
real context per player (club, league, nationality, former clubs, honours)
plus Article and BreadcrumbList JSON-LD. The sitemap grows from 121 to 691
URLs, every one with hreflang alternates.

Adds an optional display name to shared results, so a challenge link reads
"<name> challenges you" in the page, the OG image and the head-to-head
verdict; the name is sanitised both when written and when parsed back.

Adds an opt-in daily reminder (Web Push without payload, so no content
encryption) and a PWA install prompt shown once the day is finished, plus
first-party event ingestion at /api/events that mirrors GA4 so the funnel
survives ad blockers.

Wires the missing N8N_PLAYS_WEBHOOK_URL into the deployment along with the
new events, push and search-verification secrets, and ships the n8n
workflows, the Postgres schema with funnel/retention views, and an IndexNow
submitter.

Refs #2 #3 #5 #6 #7 #8 #9 #10

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QvQ1ErZNRUcWgCEkJ9uyrn
2026-08-26 12:41:28 +00:00
claude-code 3ce9ab7bf1 Add localized SEO pages, puzzle archive and challenge loop
Build and push image / build (push) Successful in 3m13s
Localized home pages (/es, /fr, /de, /it, /pt) with server-rendered intro,
how-to-play and FAQ plus FAQPage/WebApplication JSON-LD and hreflang.

Puzzle archive at /archive with answer pages (/puzzle/N) for past days only
and replays (/play/N) that never touch stats or the daily streak.

Challenge loop: shared results link back as /?challenge=<code> and the result
screen shows a head-to-head verdict.

Also adds robots.txt, sitemap.xml, the PWA manifest and icons, a compact
share text with WhatsApp/X/copy channels, a next-puzzle countdown, the
social-proof play counter and a spoiler-free /api/teaser for daily posting.

Refs #1

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QvQ1ErZNRUcWgCEkJ9uyrn
2026-08-26 12:23:59 +00:00
alexandrev-tibco f4157f6b82 Improve puzzle difficulty and sharing
Build and push image / build (push) Successful in 1m15s
2026-05-04 21:04:27 +02:00
alexandrev-tibco fa04b20e30 Initial hidden11 MVP 2026-05-02 20:50:36 +02:00