What’s changed
Every phase ships something usable on its own. Corrections stay on the record rather than being quietly edited away — where a plan turned out wrong, the entry says so.
Share links, remix, and a page for every board
A published board gets a permanent link, server-rendered from one read — no catalog API calls on the public page.
- Publish dialog with title, description and public / unlisted / private
- Remix opens anyone’s board as your own copy
- /tierlists lists what you have published, with copy-link, edit and delete
Shipped before Phase 2, which is the one thing the plan said not to do: published documents now have to be backfilled when the generalized item model lands, instead of the migration being a pure client-side function.
f3972d2The editor moved to /tierlist and / became a feed
A newsfeed-style landing page: hero, chronological feed of recently published boards, announcements, quick links.
- Server-rendered, with the search term in the query string
- Sort tabs are plain links, so the page needs no client bundle
c3236edOptional sign-in with Google and GitHub
Accounts gate nothing except publishing. The app still runs with no backend configured — the account UI simply hides itself.
9b5d0ebThe editor, end to end and entirely client-side
Search a real catalog, drag titles into tiers, undo, autosave, export. The whole product for a single user, with no account.
- Drag between any row and the pool, and reorder within a row
- Detail modal per cover: synopsis, score, studio, genres, outbound links
- Autosave to this device, plus .json export and import
- Export a PNG of the whole board
d9ae800Scaffold
Next.js 16 App Router, TypeScript, Tailwind v4, dnd-kit, deployed.
The plan required an `images.remotePatterns` entry for s4.anilist.co. It was never needed — the app uses plain <img>, not next/image.
69cfe31