Product
Platform
web
Stack
Jekyll static site (github-pages gem), Ruby 3.3.0, Liquid templates, YAML data files. [Inferred: existing codebase, not asked.]
Users
Self-identified “tire fire” enthusiasts and the site owner’s peer network in tech/ops/SRE circles — people who read satirical postmortem-style writeups of recurring industry dumpster fires (AWS outages, enterprise Windows/AD pain, open-source drama, etc.) for entertainment. [Inferred from .wip/topics.yml content and tone, not confirmed with the user.]
Product Purpose
A satirical/humor site cataloguing “tire fires” — recurring, absurd, or exhausting recurring disasters in tech (topics like Active Directory, AWS, OpenStack, RVM, Puppet). No functional/commercial purpose; entertainment and in-joke value only. [Inferred.]
Positioning
Deadpan technical-incident-report tone applied to mundane/absurd topics rather than real incidents — the humor is the gap between the “instrument panel” severity framing and how trivial/petty the actual topic is. [Inferred.]
Operating Context
Two coexisting front-end experiences on the same content:
- WIP (
.wip/**,_layouts/wip.html) — the actively maintained surface, currently an amber/green “instrument panel” dark theme (severity meters, status strip, monospace). - Tire Fire Classic (
classic/**, classic layouts/CSS) — a legacy visual mode, explicitly preserved as-is. Aclassic-modelocalStorage toggle switches the WIP layout into classic chrome/CSS instead of navigating to a separate site.
Capabilities and Constraints
- Static site only, no backend, no auth, no user accounts.
- 41 topics driven from
_data/topics.yml, rendered into both the WIP index table and the client-side search overlay. - Deployed via GitHub Actions to GitHub Pages on push to
main; PRs run lint + html-proofer only. - Hard constraint (explicit, standing): Tire Fire Classic must keep working exactly as shipped. Do not restyle, restructure, or regress
classic/**, classic layouts, or classic CSS under any design command. Verify classic mode (localStorage.classicMode = "true") after any change that touches shared layout/CSS. - This is a personal/toy project — low stakes, optimized for craft and fun over process rigor. [User: “This is a toy site. Nothing actually matters, except that we keep the classic site alive.”]
Brand Commitments
- Site name: tirefi.re. Twitter/X handle referenced in config:
tirefirebot(site metadata only, not for design use). - Existing landing art:
/tirefirebillow.gif(animated tire fire), used on the classic-mode home view.
Evidence on Hand
_data/topics.yml— the 41 topic entries (name, description, tags, severity) are real content, not placeholder.- No testimonials, customers, pricing, or case studies exist or apply; none should be fabricated.
Product Principles
- The joke is the artifact — deadpan technical framing (severity, uptime, incident tone) applied to trivial/absurd subject matter is the core bit; do not soften it into a generic dashboard.
- WIP is the design surface; Classic is a preserved artifact, not a second surface to develop.
- No real users, no real stakes — favor bold, distinctive craft over conservative/safe choices.
- Content (
_data/topics.yml, page copy) is real and factual to the site’s own fiction; don’t invent new topics or claims without evidence in the repo.
Accessibility & Inclusion
WCAG AAA contrast target already adopted for WIP body text (>=7:1) in the prior redesign; carry this floor forward on any further WIP work. No other project-specific accessibility requirement was established.