Roguelite deckbuilder · plays in your browser
Brass Ledger
Sky pirates sign articles they can never pay off. You pick a captain, take a lane through three acts, and find out how far a deck built out of debt will carry you. Every run is new; the ledger never clears.





What a run looks like
You sign on as one of five captains, each with their own way of getting into trouble: one burns themselves for power, one gets paid in debt, one keeps the hull together with other people's parts. The deck you start with is bad on purpose.
Then you take a lane. Fights, markets, a dock where things get repaired, and events that offer you a worse deal than you want. Everything you pick up is permanent for that run and gone after it.
Three acts, a boss at the end of each, and ten ascension levels past the first win for anyone who wants the lane to fight back harder. Daily runs put the whole crew down the same seeded lane, so the leaderboard compares decisions rather than luck.
- 224
- Cards
- 5
- Captains
- 3
- Acts
- 12
- Bosses
- 75
- Trophies
- 10
- Ascensions
How it is built
No engine: it is a web app, which is why it opens in one click. The rules live in plain TypeScript with a simulator that plays thousands of runs to check the balance, so the numbers above were tuned by measurement rather than feel.
- TypeScript
- Next.js
- PostgreSQL
- no engine
From the devlog
A disabled button reads as a broken game
Thirteen places in Brass Ledger refused a click and said nothing. A tester called it "the card doesn't work" — and they were right.
Five cards, three visible
I measured Brass Ledger on a real phone instead of trusting the layout. A third of the hand was off-screen, and planning a turn meant scrolling blind.