← All projects

DeckPub

A multi-game card database and deckbuilder for Star Wars CCG, Star Wars: Unlimited, and Magic: The Gathering, where each game is a config module rather than custom code.

September 2026

  • Python
  • Django
  • PostgreSQL
  • JavaScript
  • Scryfall API
The DeckPub deckbuilder for Star Wars: Unlimited, with leader and base slots, a cost curve, aspect filters, and a grid of card results

DeckPub lets players browse card databases and build, save, and share decks across several trading card games: Star Wars CCG and Star Wars: Unlimited from a local database, and Magic: The Gathering live from the Scryfall API.

Started in 2022 as a Star Wars CCG deckbuilder and later generalized into a multi-game engine.

Highlights

  • Configuration-driven games: each game’s deck rules, zones, formats, search filters, and display options live in one config module, so adding or tuning a game rarely touches the core engine
  • Format rules: Star Wars: Unlimited supports the rotating Premier format and the everything-legal Eternal format; legality is enforced on save, and an illegal card rolls the whole save back
  • No accounts required: a deck gets an edit token on save, which is all that’s needed to edit it later
  • JSON API for game configs, card search, and deck save, validate, and search

Engineering

  • Django backend with pluggable card providers: a local-database provider for the Star Wars games and a Scryfall proxy for Magic
  • Frontend in vanilla JavaScript ES modules with no build step: a shared deck engine, search, stats, and layout core, plus a small per-game plugin for zones, filters, and import/export formats
  • Card sets and format legality are versioned through data migrations, so a new set release is a small, repeatable change