-> **Download:** Grab the latest Windows installer from
-> [GitHub Releases](https://github.com/rxm96/droppilot/releases).
+
+
+
+
-DropPilot is a desktop app that automates Twitch Drops — quietly, in the
-background, while staying transparent about what it's doing. It tracks your drop
+
Automate Twitch Drops — quietly in the background, transparent about what it's doing.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+---
+
+DropPilot is a desktop app that automates Twitch Drops. It tracks your drop
inventory, picks and watches an eligible stream, switches when that stream goes
-down, and (optionally) claims drops for you.
+down, and (optionally) claims drops for you — all in the background, while
+staying transparent about what it's doing.
-## Features
+[](docs/screenshots/overview.png)
-- **Live inventory** — drop progress, claim status, and per-drop ETA in real time.
-- **Target + priority** — build a priority list of games; the app focuses on the
- most important actionable game and rotates through the list.
-- **Auto-watch** — auto-selects a stream, auto-switches when the current one
- disappears, and recovers from stalls (no watch-time progress) on its own.
-- **Auto-claim** (optional) — claims completed drops and keeps an activity audit.
-- **Warmup mode** (optional) — briefly watches a stream to discover drops when no
- priority game is currently active.
-- **Alerts** — new drops, auto-claim, drop ending soon, watch errors.
-- **Browser-based login** — no credentials are stored by the app.
-- **Demo mode** — explore the full UI without a live Twitch account.
-- **Debug tools** — live logs, a state snapshot, and perf/CPU sampling (off by default).
+## Contents
-## Screenshots
+- [Features](#features)
+- [Screenshots](#screenshots)
+- [Quick start](#quick-start)
+- [How it works](#how-it-works)
+- [Releases & updates](#releases--updates)
+- [Configuration & data](#configuration--data)
+- [Debug tools](#debug-tools)
+- [Troubleshooting](#troubleshooting)
+- [Tech stack](#tech-stack)
+- [Acknowledgements](#acknowledgements)
+- [License](#license)
+
+## Features
-> Dark theme with demo data.
+
+
+
Live inventory Every drop's progress, claim status and time left, in real time.
+
Priority list Rank your games; DropPilot works the highest one it can progress right now.
+
+
+
Hands-off watching Picks an eligible stream, switches when one goes offline, and recovers when progress stalls.
+
Auto-claim Optionally claims finished drops for you and keeps a record of everything it's done.
+
+
+
Desktop alerts New drops, auto-claims, stream switches, drops about to end, and watch errors.
+
Discord / webhook The same alerts in Discord (or any compatible webhook), with a one-click test send.
+
+
+
Browser-based login Sign in through Twitch's own page; DropPilot never stores your credentials.
+
Demo mode Explore the whole interface with sample data — no Twitch account needed.
+
+
+
+DropPilot also stays out of your way while it works: a live status readout
+(scanning, watching, recovering…), claim-retry countdowns, and a one-click prompt
+to sign back in when your Twitch session expires. A **Debug** tab (off by
+default) adds live logs and a state snapshot for when you need to dig in.
-| Overview | Stats |
-| --- | --- |
-| [](docs/screenshots/overview.png) | [](docs/screenshots/stats.png) |
-| **Inventory** | **Control** |
-| [](docs/screenshots/inventory.png) | [](docs/screenshots/control.png) |
+## Screenshots
-## Tech stack
+> Dark theme with demo data. (Overview is shown above.)
-Electron 40 · React 19 · Vite 7 · TypeScript · Tailwind CSS v4 · Vitest
+| Stats | Inventory | Control |
+| --- | --- | --- |
+| [](docs/screenshots/stats.png) | [](docs/screenshots/inventory.png) | [](docs/screenshots/control.png) |
## Quick start
@@ -78,10 +118,11 @@ in [`docs/watch-flow.puml`](docs/watch-flow.puml).
## Releases & updates
-Releases are published to GitHub Releases (Windows `.exe` + macOS artifacts) and
+Releases are published to GitHub Releases (Windows `.exe` + a macOS `.dmg`) and
built by CI when a `v*` tag is pushed. The app auto-updates on Windows and offers
two channels — **stable** and **preview** — selectable in Settings → Updates, which
-also shows the in-app release history. See `CONTRIBUTING.md` for how to cut a release.
+also shows the in-app release history. See [`CONTRIBUTING.md`](CONTRIBUTING.md) for
+how to cut a release.
## Configuration & data
@@ -100,6 +141,10 @@ CPU snapshots appear in the Debug snapshot.
- **App feels slow** → disable the Debug tab and restart.
- **Need verbose logs** → enable Debug tools in Settings.
+## Tech stack
+
+Electron 42 · React 19 · Vite 7 · TypeScript · Tailwind CSS v4 · Vitest
+
## Acknowledgements
DropPilot's drop-mining approach is heavily informed by
@@ -114,5 +159,4 @@ reproduced in [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).
## License
-MIT
-
+MIT — see [`LICENSE`](LICENSE).
diff --git a/docs/brand/banner-dark.svg b/docs/brand/banner-dark.svg
new file mode 100644
index 0000000..fdac493
--- /dev/null
+++ b/docs/brand/banner-dark.svg
@@ -0,0 +1,9 @@
+
diff --git a/docs/brand/banner-light.svg b/docs/brand/banner-light.svg
new file mode 100644
index 0000000..82f9b3c
--- /dev/null
+++ b/docs/brand/banner-light.svg
@@ -0,0 +1,9 @@
+
diff --git a/docs/brand/feat-alerts.svg b/docs/brand/feat-alerts.svg
new file mode 100644
index 0000000..09972fc
--- /dev/null
+++ b/docs/brand/feat-alerts.svg
@@ -0,0 +1,4 @@
+
diff --git a/docs/brand/feat-autoclaim.svg b/docs/brand/feat-autoclaim.svg
new file mode 100644
index 0000000..6d6fbef
--- /dev/null
+++ b/docs/brand/feat-autoclaim.svg
@@ -0,0 +1,4 @@
+
diff --git a/docs/brand/feat-demo.svg b/docs/brand/feat-demo.svg
new file mode 100644
index 0000000..a41345f
--- /dev/null
+++ b/docs/brand/feat-demo.svg
@@ -0,0 +1,5 @@
+
diff --git a/docs/brand/feat-discord.svg b/docs/brand/feat-discord.svg
new file mode 100644
index 0000000..504155a
--- /dev/null
+++ b/docs/brand/feat-discord.svg
@@ -0,0 +1,8 @@
+
diff --git a/docs/brand/feat-inventory.svg b/docs/brand/feat-inventory.svg
new file mode 100644
index 0000000..817ce16
--- /dev/null
+++ b/docs/brand/feat-inventory.svg
@@ -0,0 +1,6 @@
+
diff --git a/docs/brand/feat-login.svg b/docs/brand/feat-login.svg
new file mode 100644
index 0000000..ce3304f
--- /dev/null
+++ b/docs/brand/feat-login.svg
@@ -0,0 +1,4 @@
+
diff --git a/docs/brand/feat-priority.svg b/docs/brand/feat-priority.svg
new file mode 100644
index 0000000..f2058d2
--- /dev/null
+++ b/docs/brand/feat-priority.svg
@@ -0,0 +1,6 @@
+
diff --git a/docs/brand/feat-watching.svg b/docs/brand/feat-watching.svg
new file mode 100644
index 0000000..a063e69
--- /dev/null
+++ b/docs/brand/feat-watching.svg
@@ -0,0 +1,3 @@
+
diff --git a/docs/superpowers/plans/2026-06-15-readme-overhaul-brand-assets.md b/docs/superpowers/plans/2026-06-15-readme-overhaul-brand-assets.md
new file mode 100644
index 0000000..129092a
--- /dev/null
+++ b/docs/superpowers/plans/2026-06-15-readme-overhaul-brand-assets.md
@@ -0,0 +1,441 @@
+# README overhaul + brand assets Implementation Plan
+
+> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
+
+**Goal:** Ship a resolution-independent SVG logo (droplet + heading) and a fresher, cooler README with a full hero, download CTA, and an icon-backed feature grid.
+
+**Architecture:** Pure docs + brand-assets change. All visual richness lives in committed SVG files (one banner per theme, eight feature icons, one mark) because GitHub strips inline CSS/`style`/`class` from markdown. The README references them via ``, ``, shields badges, and a markdown/HTML table. No application source code changes.
+
+**Tech Stack:** Hand-authored SVG, GitHub-flavoured Markdown with the safe HTML subset (`
`, ``, `
`, ``), shields.io.
+
+---
+
+## Why no unit tests here
+
+The project's testing convention (`CLAUDE.md`) covers pure functions only — there is nothing executable in this change. `format:check` globs only `src/**/*.{ts,tsx,css}` and `scripts/release-notes/**/*.mjs`, so it does **not** touch `README.md`, `docs/**`, or `icons/**` — no Prettier gate applies to these files. Verification per task is therefore: (a) the SVG/HTML is well-formed XML, and (b) it renders as intended. Well-formedness check (Windows PowerShell, zero deps):
+
+```powershell
+[xml](Get-Content -Raw ); 'OK'
+```
+
+It prints `OK` on success and throws on malformed markup.
+
+## File structure
+
+Create:
+
+- `icons/logo.svg` — the mark only (droplet + white arrow). Single source of truth for future app-icon/tray raster.
+- `docs/brand/banner-dark.svg`, `docs/brand/banner-light.svg` — hero lockup (mark above wordmark), one per theme.
+- `docs/brand/feat-inventory.svg`, `feat-priority.svg`, `feat-watching.svg`, `feat-autoclaim.svg`, `feat-alerts.svg`, `feat-discord.svg`, `feat-login.svg`, `feat-demo.svg` — eight monoline feature icons.
+
+Modify:
+
+- `README.md` — new hero, download CTA, feature table, light copy pass.
+
+Leave untouched: `icons/icon.png` and `icons/tray/` (app-icon/tray regeneration is a later, separate step).
+
+---
+
+### Task 1: The mark — `icons/logo.svg`
+
+**Files:**
+- Create: `icons/logo.svg`
+
+- [ ] **Step 1: Create the file**
+
+```svg
+
+```
+
+- [ ] **Step 2: Verify it is well-formed**
+
+Run: `[xml](Get-Content -Raw icons/logo.svg); 'OK'`
+Expected: prints `OK`, no exception.
+
+- [ ] **Step 3: Eyeball it**
+
+Open `icons/logo.svg` in a browser (or VS Code SVG preview). Expected: a violet teardrop with a crisp white upward navigation arrow centered in the bulb. No clipping, no stray fills.
+
+- [ ] **Step 4: Commit**
+
+```bash
+git add icons/logo.svg
+git commit -m "feat(brand): add vector logo mark (icons/logo.svg)"
+```
+
+---
+
+### Task 2: Hero banners — `docs/brand/banner-{dark,light}.svg`
+
+**Files:**
+- Create: `docs/brand/banner-dark.svg`
+- Create: `docs/brand/banner-light.svg`
+
+- [ ] **Step 1: Create `docs/brand/banner-dark.svg`**
+
+```svg
+
+```
+
+- [ ] **Step 2: Create `docs/brand/banner-light.svg`** (same geometry, light-theme colors)
+
+```svg
+
+```
+
+- [ ] **Step 3: Verify both are well-formed**
+
+Run:
+```powershell
+[xml](Get-Content -Raw docs/brand/banner-dark.svg); [xml](Get-Content -Raw docs/brand/banner-light.svg); 'OK'
+```
+Expected: prints `OK`.
+
+- [ ] **Step 4: Eyeball both**
+
+Open each in a browser. Expected: mark centered on top, "Drop" + "Pilot" wordmark centered beneath (Pilot in violet), wordmark not clipped by the 320-wide viewBox. The light banner should be legible on a white page, the dark on a near-black page.
+
+- [ ] **Step 5: Commit**
+
+```bash
+git add docs/brand/banner-dark.svg docs/brand/banner-light.svg
+git commit -m "feat(brand): add dark/light README hero banners"
+```
+
+---
+
+### Task 3: Feature icons — `docs/brand/feat-*.svg`
+
+All eight share root attributes `fill="none" stroke="#a78bfa" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"` so a single mid-tone violet line reads on both GitHub themes. Discord eye-dots override with a solid fill.
+
+**Files:**
+- Create: `docs/brand/feat-inventory.svg`, `feat-priority.svg`, `feat-watching.svg`, `feat-autoclaim.svg`, `feat-alerts.svg`, `feat-discord.svg`, `feat-login.svg`, `feat-demo.svg`
+
+- [ ] **Step 1: `feat-inventory.svg`**
+
+```svg
+
+```
+
+- [ ] **Step 2: `feat-priority.svg`**
+
+```svg
+
+```
+
+- [ ] **Step 3: `feat-watching.svg`**
+
+```svg
+
+```
+
+- [ ] **Step 4: `feat-autoclaim.svg`**
+
+```svg
+
+```
+
+- [ ] **Step 5: `feat-alerts.svg`**
+
+```svg
+
+```
+
+- [ ] **Step 6: `feat-discord.svg`** (eye-dots get a solid violet fill)
+
+```svg
+
+```
+
+- [ ] **Step 7: `feat-login.svg`**
+
+```svg
+
+```
+
+- [ ] **Step 8: `feat-demo.svg`**
+
+```svg
+
+```
+
+- [ ] **Step 9: Verify all eight are well-formed**
+
+Run:
+```powershell
+Get-ChildItem docs/brand/feat-*.svg | ForEach-Object { [xml](Get-Content -Raw $_.FullName) | Out-Null; "$($_.Name) OK" }
+```
+Expected: one ` OK` line per file, no exception.
+
+- [ ] **Step 10: Eyeball the set**
+
+Open the eight files (or drag the `docs/brand` folder into a browser). Expected: each is a recognizable violet line icon at 24px — list+check, two sort arrows, play triangle, circled check, bell, Discord mark with two solid eyes, browser window, flask. Each must still read at 20px (the README render size).
+
+- [ ] **Step 11: Commit**
+
+```bash
+git add docs/brand/feat-inventory.svg docs/brand/feat-priority.svg docs/brand/feat-watching.svg docs/brand/feat-autoclaim.svg docs/brand/feat-alerts.svg docs/brand/feat-discord.svg docs/brand/feat-login.svg docs/brand/feat-demo.svg
+git commit -m "feat(brand): add eight monoline feature icons"
+```
+
+---
+
+### Task 4: README — hero, download CTA, feature grid, copy pass
+
+**Files:**
+- Modify: `README.md` (replace the whole file with the content below)
+
+- [ ] **Step 1: Replace `README.md` with this exact content**
+
+````markdown
+
+
+
+
+
+
+
+
Automate Twitch Drops — quietly in the background, transparent about what it's doing.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+---
+
+DropPilot is a desktop app that automates Twitch Drops. It tracks your drop
+inventory, picks and watches an eligible stream, switches when that stream goes
+down, and (optionally) claims drops for you — all in the background, while
+staying transparent about what it's doing.
+
+[](docs/screenshots/overview.png)
+
+## Contents
+
+- [Features](#features)
+- [Screenshots](#screenshots)
+- [Quick start](#quick-start)
+- [How it works](#how-it-works)
+- [Releases & updates](#releases--updates)
+- [Configuration & data](#configuration--data)
+- [Debug tools](#debug-tools)
+- [Troubleshooting](#troubleshooting)
+- [Tech stack](#tech-stack)
+- [Acknowledgements](#acknowledgements)
+- [License](#license)
+
+## Features
+
+
+
+
Live inventory Every drop's progress, claim status and time left, in real time.
+
Priority list Rank your games; DropPilot works the highest one it can progress right now.
+
+
+
Hands-off watching Picks an eligible stream, switches when one goes offline, and recovers when progress stalls.
+
Auto-claim Optionally claims finished drops for you and keeps a record of everything it's done.
+
+
+
Desktop alerts New drops, auto-claims, stream switches, drops about to end, and watch errors.
+
Discord / webhook The same alerts in Discord (or any compatible webhook), with a one-click test send.
+
+
+
Browser-based login Sign in through Twitch's own page; DropPilot never stores your credentials.
+
Demo mode Explore the whole interface with sample data — no Twitch account needed.
`, the only HTML GitHub reliably
+renders):
+
+1. **Banner** via `` so GitHub swaps dark/light automatically:
+ ```html
+
+
+
+
+ ```
+2. **Tagline** (markdown text, stays selectable/SEO): "Automate Twitch Drops —
+ quietly in the background, transparent about what it's doing."
+3. **Badges** — keep the existing shields (build, latest release, platforms,
+ license).
+4. **Download CTA** — a shields `for-the-badge` styled link to the latest
+ release, e.g. `https://img.shields.io/badge/⬇_Download_for_Windows-7c5fe6?style=for-the-badge` linking to `/releases/latest`. Looks like a button, no CSS needed.
+5. **Screenshot** — the existing `docs/screenshots/overview.png`.
+
+Then the body sections.
+
+### Features — table + mini-icons
+
+A 2-column markdown table; each cell = `` mini-icon + **bold
+title** + one line. Markdown tables and per-cell `` both render on GitHub;
+the icons carry their own styling internally (so no stripped CSS). Eight
+features, 4 rows × 2:
+
+| # | Title | One-liner | Icon ref |
+| --- | ------------------- | ---------------------------------------------------------------- | ------------- |
+| 1 | Live inventory | Every drop's progress, claim status and time left, in real time. | list-check |
+| 2 | Priority list | Rank your games; it works the highest one it can progress now. | arrows-sort |
+| 3 | Hands-off watching | Picks a stream, switches on offline, recovers on stall. | player-play |
+| 4 | Auto-claim | Claims finished drops and keeps a record of everything. | circle-check |
+| 5 | Desktop alerts | New drops, auto-claims, switches, drops ending, errors. | bell |
+| 6 | Discord / webhook | The same alerts in Discord or any compatible webhook. | brand-discord |
+| 7 | Browser-based login | Sign in on Twitch's own page; credentials never stored. | browser |
+| 8 | Demo mode | Explore the whole UI with sample data, no account needed. | flask |
+
+"Stays transparent", "Debug tools", and Windows auto-update remain as prose /
+their existing sections (transparency is already carried by the tagline +
+intro). Warmup mode stays gone.
+
+### Remaining sections
+
+Keep the current set (Quick start, How it works, Releases & updates,
+Configuration & data, Debug tools, Troubleshooting, Tech stack,
+Acknowledgements, License). Light copy pass only: tighten wording, kill
+redundancy, verify facts (Electron 42 / React 19 / Vite 7 are already correct).
+The "Contents" TOC is updated if anchors change.
+
+## GitHub rendering constraints (the load-bearing decisions)
+
+- GitHub **strips `style` attributes, `class`, and `