Tatty.page

Personal pages for expressive, imperfect, creative web pages.

The public page route now uses D1 lookup, R2 snapshot fetch, and Cache API scaffolding.

Publish now flows through a draft-to-published transform boundary and a scaffolded page Durable Object client.

Login is now magic-link based and sets a session cookie for app routes.

Dev reset endpoint: POST /api/dev/reset (disabled on production unless explicitly allowed)