Skip to content
Merged
108 changes: 76 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,81 @@
# DropPilot
<div align="center">

> **Download:** Grab the latest Windows installer from
> [GitHub Releases](https://github.com/rxm96/droppilot/releases).
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/brand/banner-dark.svg" />
<img src="docs/brand/banner-light.svg" width="360" alt="DropPilot" />
</picture>

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
<p><strong>Automate Twitch Drops — quietly in the background, transparent about what it's doing.</strong></p>

<p>
<a href="https://github.com/rxm96/droppilot/actions/workflows/build.yml"><img src="https://github.com/rxm96/droppilot/actions/workflows/build.yml/badge.svg" alt="Build" /></a>
<a href="https://github.com/rxm96/droppilot/releases/latest"><img src="https://img.shields.io/github/v/release/rxm96/droppilot?sort=semver" alt="Latest release" /></a>
<img src="https://img.shields.io/badge/platforms-Windows%20%7C%20macOS-blue" alt="Platforms" />
<a href="LICENSE"><img src="https://img.shields.io/github/license/rxm96/droppilot" alt="License: MIT" /></a>
</p>

<p>
<a href="https://github.com/rxm96/droppilot/releases/latest"><img src="https://img.shields.io/badge/%E2%AC%87%20Download%20for%20Windows-7c5fe6?style=for-the-badge&logo=windows&logoColor=white" alt="Download for Windows" /></a>
</p>

</div>

---

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
[![Overview](docs/screenshots/overview.png)](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.
<table>
<tr>
<td width="50%"><img src="docs/brand/feat-inventory.svg" width="20" /> <strong>Live inventory</strong><br />Every drop's progress, claim status and time left, in real time.</td>
<td width="50%"><img src="docs/brand/feat-priority.svg" width="20" /> <strong>Priority list</strong><br />Rank your games; DropPilot works the highest one it can progress right now.</td>
</tr>
<tr>
<td><img src="docs/brand/feat-watching.svg" width="20" /> <strong>Hands-off watching</strong><br />Picks an eligible stream, switches when one goes offline, and recovers when progress stalls.</td>
<td><img src="docs/brand/feat-autoclaim.svg" width="20" /> <strong>Auto-claim</strong><br />Optionally claims finished drops for you and keeps a record of everything it's done.</td>
</tr>
<tr>
<td><img src="docs/brand/feat-alerts.svg" width="20" /> <strong>Desktop alerts</strong><br />New drops, auto-claims, stream switches, drops about to end, and watch errors.</td>
<td><img src="docs/brand/feat-discord.svg" width="20" /> <strong>Discord / webhook</strong><br />The same alerts in Discord (or any compatible webhook), with a one-click test send.</td>
</tr>
<tr>
<td><img src="docs/brand/feat-login.svg" width="20" /> <strong>Browser-based login</strong><br />Sign in through Twitch's own page; DropPilot never stores your credentials.</td>
<td><img src="docs/brand/feat-demo.svg" width="20" /> <strong>Demo mode</strong><br />Explore the whole interface with sample data — no Twitch account needed.</td>
</tr>
</table>

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 |
| --- | --- |
| [![Overview](docs/screenshots/overview.png)](docs/screenshots/overview.png) | [![Stats](docs/screenshots/stats.png)](docs/screenshots/stats.png) |
| **Inventory** | **Control** |
| [![Inventory](docs/screenshots/inventory.png)](docs/screenshots/inventory.png) | [![Control](docs/screenshots/control.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 |
| --- | --- | --- |
| [![Stats](docs/screenshots/stats.png)](docs/screenshots/stats.png) | [![Inventory](docs/screenshots/inventory.png)](docs/screenshots/inventory.png) | [![Control](docs/screenshots/control.png)](docs/screenshots/control.png) |

## Quick start

Expand Down Expand Up @@ -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

Expand All @@ -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
Expand All @@ -114,5 +159,4 @@ reproduced in [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).

## License

MIT

MIT — see [`LICENSE`](LICENSE).
9 changes: 9 additions & 0 deletions docs/brand/banner-dark.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions docs/brand/banner-light.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions docs/brand/feat-alerts.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions docs/brand/feat-autoclaim.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions docs/brand/feat-demo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions docs/brand/feat-discord.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions docs/brand/feat-inventory.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions docs/brand/feat-login.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions docs/brand/feat-priority.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/brand/feat-watching.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading