attack-on-titan is an anime website built around the world of Attack on Titan. It exists so that anime viewers can discover the series, read a title's details, and watch its episodes, and so that a Site Curator can keep the catalog and its episode listings accurate and current.
The product intent, derived from the authoritative requirement thread, is threefold:
The audience is passionate anime viewers who want a cinematic, high-energy browse-and-watch experience, plus the curator who maintains the catalog. The visual register is epic, tense, defiant and poster-like — a propaganda wall inside the Walls rather than a generic streaming grid.
The product is a single first-party web application delivered as a React frontend, a shared FastAPI backend, and a MariaDB database. All accepted behavior is owned by the application itself; there is no provider-owned or external-only surface in the current scope.
Public, anonymous browsing and watching. The Landing, Catalog, Title Details, and Watch pages are reachable without an account. A visitor can arrive, understand what the site is, browse the catalog, open a title, and play an episode without ever establishing identity. No account is required to watch.
Application-owned identity for the curator only. The catalog and episode listings are durable, shared, application-owned state. Maintaining them is a responsibility that must remain bound to the correct person, so the Site Curator establishes identity through self-service Sign Up and returns through Login. Curator Studio is protected and role-restricted to the Site Curator. Viewers never need an account, and no viewer-facing account, profile, watchlist, or history capability is in scope.
Current versus future. Everything described in this document is current. There is no accepted future horizon; nothing is deferred.
Explicitly out of scope. No viewer accounts, no watchlists, no comments or ratings, no subscription or payment, no social features, no recommendation engine, and no third-party streaming provider integration are accepted by the source. The site plays episodes itself.
Not applicable — no reference directive with content_source was supplied.
FR-1 — Browse the anime catalog (explicit) As an Anime Viewer, I should browse the anime catalog so that I can discover titles to watch.
FR-2 — View a title's details (explicit) As an Anime Viewer, I should open a title and view its details so that I can decide whether to watch it.
FR-3 — Watch an anime episode (explicit) As an Anime Viewer, I should watch an episode of a title so that I can enjoy the series on the site.
FR-4 — Maintain the anime catalog (explicit) As a Site Curator, I should add and update anime titles so that the catalog stays current.
FR-5 — Maintain episode listings (explicit) As a Site Curator, I should add and update episodes on a title so that viewers see accurate episode listings.
FR-6 — Curator self-service enrollment (required_inference) As a Site Curator, I should enroll myself before first catalog maintenance so that my catalog changes are bound to me.
FR-7 — Curator returning verification (required_inference) As a Site Curator, I should sign in before accessing Curator Studio so that only I can change the catalog.
FR-8 — Protected access to Curator Studio (required_inference) As the application, I should restrict Curator Studio to an authenticated Site Curator so that catalog state remains bound to the correct person.
Muse: Paula Scher. Headline: Typography as architecture for the Survey Corps.
Mode: Dark only.
Colour tokens (exact hex by role):
| Role | Hex | Use |
|---|---|---|
| Background | #121110 | Charcoal-black ground |
| Surface | #1D1B18 | Flat colour-block surfaces (never glass) |
| Text | #F2EDE3 | Warm bone text |
| Primary | #C8261E | Blood-red — dominant full-bleed blocks, primary CTAs |
| Accent | #E8B23A | Mustard-gold — episode numbers, tags, active states |
| Muted | #8C8578 | Warm grey metadata |
Proportion: ~70% charcoal, 18% red, 8% gold, 4% bone/muted.
Typography:
clamp(56px, 11vw, 160px); section headers clamp(32px, 5vw, 72px); card titles clamp(20px, 2.4vw, 28px); body 16–18px; micro-labels 11–12px uppercase. All display sizes use clamp so Anton stays inside its container at 375px.Shape language: Hard edges only — 0px radii on cards, buttons, and image frames. Diagonal bands and full-bleed colour blocks cut at 8–12° angles. Poster-grid columns separated by 2px bone rules. Buttons are solid red or gold rectangles with uppercase labels; no pills, no soft shadows, no rounded corners anywhere.
Layout: Dense poster grid on a 12-column base with hard vertical rules. Landing opens with a full-viewport type composition; Catalog is a 3–4 column poster grid with a persistent left rail of colour-coded genre filters; Title Details is a split poster; Watch is a full-bleed player with a giant Anton caption; Curator Studio reuses the poster grid as an editorial table with red/gold status stamps.
Imagery: Typography is the image — full-bleed Anton words, duotone (charcoal + red) key-art cut-outs, hard-edged colour blocks. Supporting imagery limited to title cover art inside 2:3 poster frames and grayscale wall/titan stills cropped to the grid. No gradient blobs, no rounded photo cards.
Readability rule: Headlines, wordmarks, labels, numbers, card text, and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling to fit; no element covers any part of them. Imagery and decoration may crop, bleed, rotate, or overlap freely.
The public entry is a full-viewport propaganda poster. The words ATTACK ON TITAN are set in Anton at clamp(56px, 13vw, 190px), stacked in three lines filling the left nine columns edge-to-edge. The final line, TITAN, is reversed out of a solid blood-red block (#C8261E) that bleeds off the right edge. A single duotone key-art cut-out of a titan silhouette is cropped hard at the bottom-right, partially under the red block, never over any text. A thin gold rule runs the full width above a single uppercase metadata line — SURVEY CORPS ARCHIVE · 4 SEASONS · 87 EPISODES — and one solid-red rectangular ENTER THE CATALOG button is pinned bottom-left. The background is flat charcoal #121110.
Below the hero, a horizontal Anton type marquee — WALLS · TITANS · SURVEY CORPS · FREEDOM — crosses the viewport, pausing on hover and wrapping to static rows under prefers-reduced-motion.
The concept recomposes only accepted content and controls: the site identity, the aggregate archive facts, the Enter the Catalog action, and the curator access links. It introduces no new behavior or destination.
Interaction Model: Animated Motion Tempo: expressive Hero Dimensionality: flat
Landing Hero Motion Brief
clamp with a mobile floor. Rationale: the poster typography must remain legible and operable at every breakpoint.prefers-reduced-motion, the marquee becomes a static wrapped row and scroll reveals are removed. Rationale: accessibility of motion.docker-compose.yml with three services — frontend, backend, database. Feature APIs extend the shared backend; no additional services are required for the current scope.
attack-on-titanARCHIVE
Site Curator

attack-on-titanARCHIVE
Site Curator
No comments yet. Be the first!