Route one of three

You already own the hard part.

If you have a Claude Pro or Max login, you have everything DeckTrail needs to write a deck. No API key to create, no billing to wire up, no model to choose. One command installs it, one command writes the deck, and your content never leaves your machine on the way.

Pick how the writing happens

Three routes. Same deck, same portal.

DeckTrail does not care which model writes your deck, so you are not locked to one. Everything after the writing is identical, and switching later is a flag rather than a migration.

Step one

One command installs it.

That is the whole install. It checks Docker, generates its own database password, starts the stack, waits until the portal actually answers rather than guessing at a delay, builds the command line tool, and hands you the link that finishes setup. Run it again any time: it will not overwrite a .env you have edited, and it leaves a running stack alone.

Port 3000 already taken? Pass another and it is used end to end.

# one command, and it does the rest
git clone https://github.com/orbitqube-tech/decktrail
cd decktrail
./scripts/up.sh
# identical on macOS
git clone https://github.com/orbitqube-tech/decktrail
cd decktrail
./scripts/up.sh
# PowerShell
git clone https://github.com/orbitqube-tech/decktrail
cd decktrail
.\scripts\up.ps1

# or from cmd.exe, same thing
scripts\up.bat
DeckTrail

  Docker is running
  pnpm is available
  Port 3000 is free
  Wrote .env with a generated database password
  Starting the stack, which pulls images the first time
  Waiting for the portal, which sets itself up on a first boot
  Portal is healthy on http://localhost:3000
  Building the command line tool
  Installed the decktrail command on your PATH

Ready.

Open this once to name yourself and set your brand:

    http://localhost:3000/setup?token=zPJ9074oR7G28PP8DSRbsl88Fb25ail-
Step two

Point it at what you already wrote.

01

Any document you already have

Meeting notes, a PDF, a PowerPoint deck, a Word document, or a page you photographed. The text comes out on your machine, and a scan is read as a picture only when it carries no text of its own. Nothing is converted: the substance comes across and the original's layout does not.

# notes, a PDF, a deck, a document or a scan
decktrail generate discovery-call.pdf --client acme \
  --prompt "lead with the cost, and keep it to five slides"

no voice configured, using the neutral default with your prompt
generating with claude (your own Claude Code login)
read discovery-call.pdf as text
wrote deck.json
02

One line changes the whole shape

No template to fill in, no configuration file to write. Say what matters and the deck is rebuilt around it. Same notes, same route, one sentence of difference.

From the notes alone
  1. Quarterly platform review for Acme Logistics
  2. Where we are
  3. What it costs
  4. What we propose
  5. Proposed timeline
  6. What we need from you
  7. Ready to move
Asked to lead with the cost, in five slides
  1. Quarterly platform review: what the spreadsheets cost us
  2. Manual replanning is absorbing a full-time team
  3. One warehouse, three sources of truth
  4. One planning service, regional overrides as data
  5. Three decisions to start the six weeks
03

Then it goes to one named person

Each recipient gets their own link behind a passwordless sign in. No public URL, no anonymous forwarding, and every open ties to a person, which is what makes the record afterwards worth having.

decktrail push deck.json --recipient cfo@acme.example

published: acme-logistics-qpr
shared with cfo@acme.example
Why this route

Your Claude login, and what it buys you.

No key, ever

Generation runs through the Claude Code login already on your machine. DeckTrail never handles the credential, never stores one, and never puts one on a command line.

No second bill

It costs nothing beyond the subscription you already pay for. Usage counts against your own plan, and the tool says so rather than hiding it.

Nothing to choose

This is the default. No provider to name, no model to pick, no gateway to run. If you have Claude, the first command is the entire setup.

The strongest writer of the three

This route reaches the model that handles a long, messy source document best, which is what you want the first time you point it at a real client PDF.

Your content stays put

The deck is written on your machine and served from your server. The portal never sees your source document, and nothing reaches us at any point.

Switching costs one flag

A free model or a routing gateway are the same commands with a different flag. Decks you have already sent are untouched.

Self-host it

It runs on your box, not ours.

There is no account to make here, because there is nothing here to sign into. You clone it, you run it, and your clients' decks live on your server where they belong. We could not read them if we wanted to.