+ {s.n} + {s.label} +
+{s.title}
+{s.body}
+diff --git a/public/shots/agent.png b/public/shots/agent.png
new file mode 100644
index 0000000..73b0c86
Binary files /dev/null and b/public/shots/agent.png differ
diff --git a/public/shots/ai-models.png b/public/shots/ai-models.png
new file mode 100644
index 0000000..9f66eae
Binary files /dev/null and b/public/shots/ai-models.png differ
diff --git a/public/shots/appearance.png b/public/shots/appearance.png
new file mode 100644
index 0000000..0787013
Binary files /dev/null and b/public/shots/appearance.png differ
diff --git a/public/shots/terminal.png b/public/shots/terminal.png
new file mode 100644
index 0000000..ad2cdc1
Binary files /dev/null and b/public/shots/terminal.png differ
diff --git a/src/components/Showcase.astro b/src/components/Showcase.astro
new file mode 100644
index 0000000..a2a1459
--- /dev/null
+++ b/src/components/Showcase.astro
@@ -0,0 +1,212 @@
+---
+/**
+ * Stage — a look inside the real app. Faithful screenshots of Uncaged running
+ * the "Uncaged Midnight" theme (matched to this site's palette). Alternating
+ * rows: one claim, one frame. Product depictions are the real thing, on-palette.
+ */
+const shots = [
+ {
+ n: '01',
+ label: 'the terminal',
+ title: 'The same fast terminal. Minus the cloud.',
+ body:
+ 'Blocks, git-aware prompts, GPU-fast rendering — the full agentic terminal you already know, running entirely on your machine. Pictured: Uncaged’s own release history, in the Uncaged Midnight theme.',
+ img: '/shots/terminal.png',
+ alt: 'Uncaged terminal showing a colourful git-log graph of the Uncaged repository, in the Uncaged Midnight theme.',
+ },
+ {
+ n: '02',
+ label: 'your models',
+ title: 'Bring your own model. No account, ever.',
+ body:
+ 'Point Uncaged at a local runtime (Ollama, LM Studio), the CLI plan you already pay for (Claude, Gemini, Codex), or any API key. Nothing is relayed through our cloud — your keys never leave the machine.',
+ img: '/shots/ai-models.png',
+ alt: 'Uncaged Settings — AI Models. Local models connected (LM Studio, Claude Code, Ollama) with the note “Nothing goes to Uncaged; your keys stay on this machine.”',
+ },
+ {
+ n: '03',
+ label: 'agentic',
+ title: 'An agent that writes code, right in your terminal.',
+ body:
+ 'Ask for a change and the agent proposes it as a reviewable diff — accept, refine, or edit. Powered by the model you chose, running on your own hardware. The same agentic terminal as Warp, with the cloud cut out.',
+ img: '/shots/agent.png',
+ alt: 'Uncaged agent proposing a new Rust ring-buffer file as a reviewable diff, with Accept / Refine / Edit controls.',
+ },
+ {
+ n: '04',
+ label: 'make it yours',
+ title: 'A terminal that looks the way you want.',
+ body:
+ 'A built-in theme studio, live window opacity and blur, and a one-click theme gallery. Shown here in “Uncaged Midnight” — the same cold-blue-and-ember palette as this page.',
+ img: '/shots/appearance.png',
+ alt: 'Uncaged Settings — Appearance. The Uncaged Midnight theme is active, with window opacity and blur controls.',
+ },
+];
+---
+
+ see it in action
+ Real screenshots, no mockups — the app running the Uncaged Midnight theme.
+
+ {s.n}
+ {s.label}
+ {s.body}A look inside Uncaged
+ {s.title}
+
+