# Design Language for simidiot.net

## Aesthetics and Tone

simidiot.net is a **brutalist anti-design experiment** dressed as a confession. The premise: this is the public-facing dashboard of *Sim Idiot* — a fictional, perpetually-running software simulation whose only job is to be confidently, cheerfully wrong about everything. The site does not sell a product. It *is* the product: a deadpan instrument panel for a machine that has been thinking very hard, for years, about a problem it fundamentally misunderstood. The `.net` TLD is taken at its most literal and most boring — this is plumbing, infrastructure, a node in a network — and that mundanity is the joke. We render a piece of critical-looking infrastructure that turns out to be running a clown.

The mood is **edgy-rebellious** in the way a glitched ATM screen is rebellious: it refuses to be polished, refuses to reassure, and yet it is weirdly sincere about its own incompetence. Think: a 1996 university mainframe status page; a parking-garage payment terminal that has achieved sentience and regret; the readme of a project that was abandoned and then somehow kept compiling. Nothing here apologizes for being ugly, because the ugliness is *load-bearing* — it is the visual proof that no marketing department touched it. The humor is dry, never zany. The simulation believes it is helping.

Tonal rules: hairline borders everywhere, default-browser focus rings left visible *on purpose*, system fonts used like a shrug, and exactly one absurd flourish per screen so the deadpan never tips into pure tedium. The visitor should feel like they have stumbled into the maintenance interface of something they were not supposed to see — and that the thing on the other side is, endearingly, an idiot.

## Layout Motifs and Structure

The spine is a **broken-grid** "control panel" — and this is deliberate against the corpus, where broken-grid sits at 12% and card-grid dominates at 92%. There is no card grid here. There are *panels*: bordered rectangles of mismatched proportion, butted up against one another with 1px gutters, like windows tiled by someone who has never used a tiling window manager correctly.

Structural skeleton, top to bottom:

- **STATUS BAR** — a 28px-tall full-bleed strip pinned to the top. Monospace. Left side: `SIMIDIOT.NET // SIMULATION RUNNING`. Center: a live-incrementing tick counter (`TICK 0042913387`) that never stops, even when the tab is backgrounded — it counts the milliseconds the idiot has been thinking. Right side: a "CONFIDENCE" gauge that is always pinned at 100%. The strip has a single 1px bottom border and a faint scanline.
- **THE BIG WRONG ANSWER** — the hero is a single oversized panel containing one short, completely incorrect statement rendered as a giant headline (e.g. *"2 + 2 = 5. FINAL ANSWER. WE CHECKED."*). No image. No CTA. A blinking block cursor sits at the end of the line. Below it, in tiny mono: `(this is wrong. the simulation does not know this.)`
- **THE LOG** — a vertically-scrolling, monospace event log that takes up the left ~60% of the viewport on desktop: timestamped lines of the simulation reasoning its way confidently into nonsense (`14:22:09  reconsidering... no. i was right.` / `14:22:11  the moon is a kind of cheese-adjacent administrative region.`). New lines append on scroll via IntersectionObserver. This is the heart of the site.
- **THE PANEL STACK** — the right ~40% is a column of small bordered modules: a "MEMORY" panel listing things the idiot is currently misremembering; an "INPUTS" panel showing the questions it has been asked, with its answers struck through and replaced by worse ones; a "PLAN" panel that just says `PLAN: keep going`.
- **DIAGNOSTICS** — near the bottom, a faux-technical "self-test" panel where every check passes (`✓ logic intact`, `✓ humility module: NOT FOUND (ok)`, `✓ vibes: nominal`).
- **COLOPHON** — a bordered footer in 11px mono: `simidiot.net — a simulation of being wrong, running since the day it started. no, we will not fix it.`

Spacing is the anti-design tell: gutters are exactly 1px, padding inside panels is a stingy 12–16px, and section breaks are marked not by whitespace but by a full-width 1px rule with a tiny label notched into it (`/// LOG`). On mobile the panels stack into a single column in source order; the log stays the tallest thing on the page.

## Typography and Palette

**Typefaces (Google Fonts only):**

- **JetBrains Mono** — the workhorse. Status bar, the tick counter, the log, every panel label, the colophon, the diagnostics. Weights 400 and 700. Tracking +20 on all-caps labels. This is `tech-mono` used without irony as the *body* font, which is itself the design statement: the whole site reads like a terminal that learned to have feelings.
- **Archivo Black** — the one display face. Used *only* for THE BIG WRONG ANSWER and for the section notch-labels. Set absurdly large (clamp 2.6rem → 7rem), all caps, line-height 0.92, letter-spacing -0.02em. Its blunt, over-confident weight is the visual embodiment of being wrong loudly.
- **Archivo** (regular) — a tiny supporting role: the parenthetical disclaimers under the hero and a few longer-form annotation lines that would look hostile in pure mono. Weight 400, 13px, slightly muted.

**Palette — high-contrast, mostly monochrome, with one alarm color:**

- `#0E0E0E` — **VOID BLACK.** The page background. Not pure #000 — a hair off, like an old CRT that never quite reached black.
- `#F2F0E9` — **PAPER WHITE.** Primary text and panel borders. Slightly warm, like sun-bleached printer paper, so the screen feels *aged* rather than sleek.
- `#8C8C84` — **DIM GREY.** Disclaimers, struck-through text, timestamps, the "humble" small print. The color of things the simulation has stopped caring about.
- `#FFE600` — **IDIOT YELLOW.** The single accent. Used for: the blinking cursor, the CONFIDENCE 100% gauge fill, the `✓` marks in diagnostics, and exactly one word per screen that the idiot is *most* sure about (which is, naturally, the most wrong word). It is a hazard color used to celebrate, not warn.
- `#E63916` — **CORRECTION RED.** Used almost never — only when the user does something the simulation interprets as "correcting" it, at which point a tiny red `IGNORED` stamp animates in next to the input. Reserved, rare, funny.

The contrast is intentionally a little too high — Paper White on Void Black, hairline yellow — so the whole thing buzzes slightly, like a monitor at the wrong refresh rate.

## Imagery and Motifs

**There is no photography.** (The corpus is 98% photography; we are the 2%.) Every visual element is drawn from a terminal/instrument-panel vocabulary, all 1px line work in Paper White or Idiot Yellow:

- **The blinking block cursor** — appears at the end of the Big Wrong Answer, in the log, and idly in empty panels. It is the site's only "mascot": a small confident rectangle, forever about to say something else dumb.
- **The tick counter** — a monospace odometer that only goes up. It is the closest thing the site has to a logo, and it animates from the moment the page loads.
- **ASCII / box-drawing furniture** — section dividers, panel corners (`┌─ MEMORY ─┐`), and a small ASCII "self-portrait" of the simulation in the diagnostics panel: a lopsided face made of `( o_o )` that occasionally blinks to `( o_- )`.
- **Strike-through as a motif** — wrong answers are not hidden; they are crossed out and "improved" to something worse. The strike line is drawn in Dim Grey, the replacement in Paper White, the *most* confident replacement in Idiot Yellow.
- **Faux "OK" checkmarks** — chunky yellow `✓` glyphs next to diagnostics that should worry you (`✓ humility module: NOT FOUND`).
- **One scanline + faint CRT vignette** — a single repeating 2px scanline overlay at ~4% opacity and a soft darkening at the screen edges, so the panel feels like it's being *displayed* somewhere, on hardware, in a room.
- **The "PLAN: keep going" panel** — a recurring gag-object: a panel whose contents never change no matter how much you scroll.

No gradients (the corpus is 94% gradient). No rounded corners. No drop shadows except a single 1px hard offset on the Big Wrong Answer panel, like a misprint.

## Prompts for Implementation

Build this as a **single self-contained HTML document** — one file, one `<style>` block, one `<script>` block, plus a Google Fonts link for JetBrains Mono / Archivo / Archivo Black. Target under 55KB before fonts. No framework, no build step, no SPA router. The whole thing should look like it could be served off a 1U server in a closet.

**The storytelling spine — a simulation that never stops being wrong:**

The site is a *full-screen narrative instrument*, not a marketing page. The story is: you have opened the live status panel of Sim Idiot, and over the course of scrolling you watch it reason, in real time, deeper into confident error — and then watch it cheerfully ignore your attempts to correct it.

- **On load:** the STATUS BAR's tick counter starts incrementing immediately via `requestAnimationFrame` (count real elapsed ms; format with leading zeros). It must keep running when the tab is hidden — use `performance.now()` deltas so backgrounding doesn't pause "thinking." The CONFIDENCE gauge animates from 0% to 100% in ~600ms on load and then stays at 100% forever.
- **The hero (THE BIG WRONG ANSWER):** the giant incorrect statement types itself in once via a `typewriter-effect` (corpus 15% — fine, but make it *fast* and *blunt*, ~28ms/char, no fancy easing), then the block cursor blinks at the end at exactly 1.06s intervals (slightly off from 1s on purpose). The tiny grey disclaimer below fades in 400ms after the line completes. No CTA button — if you feel the urge to add one, replace it with a panel that says `[ there is nothing to click ]`.
- **THE LOG (the centerpiece):** as the user scrolls, append new monospace log lines via `IntersectionObserver` on sentinel elements — each new line slides in 6px and fades 220ms (`fade-reveal`, `stagger`). The log content is a pre-written script of ~40 lines of the simulation reasoning into nonsense; cycle/loop it if the user scrolls a lot. Occasionally a line "corrects" a previous line and the previous line gets a `slide-reveal` strike-through applied retroactively. Auto-scroll the log container to keep the newest line in view *unless* the user has manually scrolled up inside it (respect that).
- **THE PANEL STACK (right column):** the MEMORY panel cycles its "currently misremembering" item every ~5s with a `morph`/crossfade. The INPUTS panel: a small text field labeled `tell it something true →`. When the user submits anything, the simulation: (1) thanks them, (2) restates what they said *wrong*, (3) stamps a tiny red `IGNORED` next to it with a sharp `shake-error` micro-animation, (4) adds `PLAN: keep going` to... the PLAN panel, which already says that. This is the single interactive payoff — make it land.
- **DIAGNOSTICS:** on scroll-into-view, run a fake self-test: checks appear one per ~180ms (`stagger`), each with a yellow `✓`, the last one being something quietly alarming. The ASCII face `( o_o )` blinks (`( o_- )` for 120ms) on a random 4–9s interval.
- **Cursor behavior:** a very subtle `cursor-follow` (corpus 89% — keep it minimal so we're not part of the cliché): the only thing that follows the cursor is a 1px crosshair guideline in the STATUS BAR showing "where you're looking", labeled `GAZE: TRACKED`. It's funny, not flashy.
- **Reduced motion:** if `prefers-reduced-motion`, freeze the tick counter at a static large number, skip the typewriter (show full text), disable log auto-append-on-scroll (show the full log statically), and kill the scanline animation — but *keep* all the jokes intact as static text.
- **Texture:** apply the 2px scanline as a `repeating-linear-gradient` overlay at ~4% opacity and a `radial-gradient` vignette via a fixed `::after` on the body. Borders are always exactly `1px solid #F2F0E9`. The Big Wrong Answer panel gets `box-shadow: 4px 4px 0 #F2F0E9` — a hard misprint offset, no blur.

**AVOID:** pricing blocks, stat-grids, testimonial carousels, "Get Started" CTAs, gradients, glassmorphism, rounded cards, hero photography, anything that looks like it was approved by a brand team. If a section starts to look like a SaaS landing page, the simulation should "correct" it into a worse, funnier version of itself.

## Uniqueness Notes

Differentiators this design commits to — things other CMassC sites should not duplicate:

1. **A site that is the maintenance UI of a fictional broken machine.** Not a portfolio, not a shop, not a landing page — a *live instrument panel* for a simulation whose entire personality is "confidently wrong." The always-running tick counter and the perpetually-100% CONFIDENCE gauge are structural, not decorative. No other site in the corpus is built as the diagnostic dashboard of its own joke.

2. **Brutalist anti-design as load-bearing, not stylistic.** The corpus is 92% card-grid, 94% gradient, 98% photography, 84% glassmorphism. This design has *none* of those — it's broken-grid, monochrome + one hazard yellow, mono-as-body-font, 1px hairlines, visible focus rings. The ugliness is the proof-of-authenticity gag. `anti-design` aesthetic sits at 5% and `broken-grid` at 12%; combining them with `tech-mono` body type and an `edgy-rebellious` tone is a corner of the space that's wide open.

3. **The "IGNORED" interaction.** The one interactive payoff is the user trying to tell the simulation something true and watching it thank them, misquote them, and stamp their input `IGNORED`. Most interactive sites in the corpus reward the user; this one cheerfully refuses to. Correction Red `#E63916` exists *only* for that moment.

4. **No CTA, on purpose, and the design says so.** Where a button would go, there's a panel reading `[ there is nothing to click ]`. The corpus is full of CTA-heavy hero sections; this one structurally denies the pattern and makes the denial a joke.

5. **Comedy delivered deadpan, never zany.** The visual register is a 1996 mainframe status page, not a meme site — no comic sans, no rainbows, no bouncing GIFs. The humor comes entirely from the gap between the serious instrument-panel chrome and the idiot reasoning displayed inside it. Restraint is the punchline delivery system.

Chosen seed/style: **"brutalist anti-design experiment"** — resolved as `aesthetic: anti-design, layout: broken-grid, typography: tech-mono, palette: monochrome, patterns: typewriter-effect, imagery: minimal, motifs: grid-lines, tone: edgy-rebellious`.

Avoided patterns from frequency analysis: hand-drawn (94%), glassmorphism (84%), photography (98%), card-grid (92%), full-bleed-as-default, warm palette (98%), gradient (94%), parallax (89%), cursor-follow used as a centerpiece (89% — we keep ours minimal/ironic), spring (83%), magnetic (78%), pastoral-romantic tone (33%).
<!-- DESIGN STAMP
  timestamp: 2026-05-11T08:41:19
  domain: simidiot.net
  seed: brutalist anti-design experiment
  aesthetic: simidiot.net is a **brutalist anti-design experiment** dressed as a confession. ...
  content_hash: f1a82e196de8
-->
