Android · private beta · built and used at real card shows

Inventory and point of sale for trading cards. Local-first.

Your stock, your costs and your whole sales history live on your device — not on a server you're renting from somebody. Scan a card, price it, print a label and sell it at the table, with the signal off the entire time.

The Radiant Inventory stock list on a phone, showing an offline banner with twelve queued events above four cards with their conditions and asking prices.
32,539
products in the price catalog, refreshed nightly
50×20mm
thermal labels over USB or Bluetooth
1 code
per physical copy — printed once, permanent
0 servers
needed to open the app and make a sale

What local-first means

Your data is on your device, not on loan from us

Two promises in one word. It works with no connection — a card show is the worst network you will ever sell on, so the app was built not to care. And your records are yours: they are written to your phone as they happen, and they stay there whether or not you ever sign in.

It lives on your phone

Every intake, price change and sale is written down on the device in your hand. Any device can rebuild everything it knows from that record alone, so there is no server holding the only real copy.

Offline is the normal mode

Not a degraded fallback — the state the app expects to be in. Signing in lives in Settings and controls syncing, never whether you can use the app or take money.

You can leave whenever

Exports are ordinary files you can open without us. Back up to your own Drive, Dropbox, Nextcloud or a folder. Run the whole thing on your own server if you'd rather.

One card, front to back

The whole pass, from the box to the buyer

Six steps, in the order they actually happen at a table. Every one of them works with the connection off.

  1. STEP 1

    Scan

    Point the camera at a card, or a barcode at a sealed box. Bulk mode keeps the camera open so a whole stack goes in without touching the screen between cards.

  2. STEP 2

    Identify

    Radiant matches what it read against the catalog — set, number, variant. When it isn't sure it says so and lets you type the card number instead of quietly guessing.

  3. STEP 3

    Price

    Market prices come from a catalog mirrored nightly, per-condition where real per-condition data exists. Your pricing rules turn a market price into your asking price.

  4. STEP 4

    Label

    Print a 50×20mm thermal label: name, set, number, condition, your price, and a QR code that belongs to that one physical copy and no other.

  5. STEP 5

    Sell

    Scan the label at the table. The exact copy leaves stock at the exact price, in one tap, whether or not anything is online. Multiple items check out as one transaction.

  6. STEP 6

    Hand off

    The customer scans the same code and gets a live page for that card on their own phone. When a copy sells, its page retires itself.

The first of three

Print it once. It stays right.

Every copy gets a label, and that label carries a QR code belonging to that copy for as long as it exists. Scan it to sell it. A customer scans the same code to read about it.

  • 50×20mm thermal media on a 203 dpi printer, over USB or Bluetooth
  • The QR is sized so it survives a real print, and refuses to print rather than shrink into something that won't scan
  • Long set names step down through smaller sizes before anything is cut, and the card name is the last thing to give way
  • Binder cards can carry a label with no price on it
  • Chosen for a printer that speaks an open command language — no chipped consumables, no lock-in
A 50 by 20 millimetre thermal label with a QR code on the left and, on the right, the card name Aurora Serpent ex, the set and number, the condition Near Mint, and the price forty-two dollars.

The second of three

A show is a thing, not a busy weekend

Pick what you're taking, assign it to the event, and the app treats that show as its own object — with its own stock, its own takings and its own ending.

  • Stock assigned to a show is reserved, so the same copy can't be sold twice or listed as available at home
  • Takings, units and margin are tracked per show, not smeared across the month
  • Sell from the show without hunting through your whole inventory
  • Close the show and everything unsold returns to inventory in one action
  • Two days, two tables or two people — it's still one show
A show screen for Spring Meet on Saturday 14 September, table 14: 218 items assigned, 34 sold today, 612 dollars taken, a note that stock is reserved for this show, and a list of what sold and when.

The third of three

Nobody can shop a table three people deep

They scan the code on your table, step out of the crush, and browse everything you brought from their own phone — the cards in the case, the stock in the binders, with your current prices on them. Then they come back knowing what they want.

  • One permanent code, not a new one every weekend, so a laminated sign works at this show and every show after it
  • Shows what's on the table and what's in the binders — stock a customer would never have flipped through
  • Live market pricing, so nobody has to ask “what do you want for it?” to find out
  • They save what they like and show you the list at the booth
  • Between shows the same code becomes your contact card instead of an empty table
  • Nothing to install and no account for the customer — it opens as a web page
A customer's phone showing the Northside Cards showroom: live at Spring Meet table 14, filter chips, four items with prices, two of them saved, and a button reading show 2 saved items at the booth.

What makes those three possible

Every physical copy is its own thing

Most inventory tools track a card and a quantity. Radiant tracks copies. Three of the same card are three records, with three conditions, three costs, three prices and three permanent codes — which is the only reason a label can be scanned to sell the right one, and the only reason a customer's phone can show the exact copy in front of them.

Inventory and Collection, kept apart

Stock for sale is operational: searchable, sortable, scan-first. Your own collection is visual: shelves, binders and progress. They are different jobs, so they are different screens.

Pricing rules

Set a rule once — a percentage of market, a floor, a rounding — and it follows the copies you assigned it to. Prices resolve when they're read, so a label and a listing never disagree.

Condition that changes the price

Near Mint through Damaged, priced from real per-condition market data where it exists rather than a guess applied to one number.

Phone and tablet together

Take the phone round the tables and leave the tablet in the case. New sales reach the other device in about a second, and whatever happened offline catches up on its own.

Backups you can open yourself

Google Drive, WebDAV or Nextcloud, or a plain file you keep. Exports are yours to read without us, and a device can rebuild its entire state from its own history.

Your name on it, not ours

The pages your customers see carry your shop name, your logo, your contact details and your links — on your own domain if you self-host.

Self-hosting

If you'd rather run it yourself, run it yourself

The paid plan buys hosting and support from us. It does not buy the features. If you're technically inclined enough to run your own backend, you get the whole app — sync, multiple users, your own domain, all the branding — with no monthly fee, because you're no longer costing us anything to run.

A diagram: a phone and a tablet each hold the complete record of your stock. A relay passes new events between them when there is a connection; two events on the phone are queued while offline. Backups go to Google Drive, WebDAV or Nextcloud, or a file you keep.

Nothing is held back

Self-hosting isn't a stripped tier. It's the same app pointed at your own storage and your own relay, with the branding unlocked.

Your own domain

Customers scanning your codes land on your address, with your name in it. Nothing in the experience mentions us unless you want it to.

Not a lock

It runs on your hardware, so a licence is a matter of trust rather than enforcement. Buy one, support the work, unlock the branding.

Pricing

Pay for what costs us money, never for what you already have

The plan you're on is about branding and hosting, not features held back. Nothing that helps you sell sits behind a wall — including the customer-facing QR code, which is free.

Free *

One person, one phone, a table on a Saturday

$0 to start

  • ✓Full inventory, collection, shows and sales
  • ✓Scanning, identification and market pricing
  • ✓Label printing, with prices
  • ✓Permanent Showroom QR under your display name
  • ✓Local backup, or your own Drive, Dropbox or WebDAV
  • —No managed sync between devices
  • —“Powered by Radiant” on your Showroom
Join the early-access list

Hosted *

When a second person joins you at the booth

— announced at launch

  • ✓Everything in Free
  • ✓Sync across your devices, run by us
  • ✓Staff accounts for the people helping you
  • ✓Photo sync, so your own card photos follow you
  • ✓Full custom branding — logo, socials, contact card
  • ✓The “Powered by Radiant” footer comes off
Tell me when it opens

Self-host *

Run the whole thing on your own infrastructure

— one-time, announced at launch

  • ✓No monthly fee — you're not using our hosting
  • ✓Your own storage, your own relay, your own domain
  • ✓All branding unlocked
  • ✓Multi-user, on your terms
  • ✓A licence and a setup guide, not a licence check
Register interest

* Plans and prices are not final and will change. Radiant Inventory is in private beta, nothing is for sale yet, and which features land in which plan is still being worked out — the shape above is the intent, not a commitment. Final pricing will be published here before anything goes on sale, and the early-access list hears first. In-app card payments — taking a customer's card at your own table — are in development and are not available yet.

Questions

The things people actually ask

What does “local-first” actually mean?

That your data lives on your device rather than on our server, and that the app is built to work whether or not it can reach anything. You can scan, price, print and sell with the phone in aeroplane mode. Syncing and backup are things you turn on because they're useful, not things the app needs in order to function. If we vanished tomorrow, your records would still be on your phone and still exportable.

Does it really work with no internet?

Yes, and that's the point. The app opens, scans, prices from the catalog it already downloaded, prints labels and completes sales with no connection at all. Anything that needs to travel — a sale reaching your other device, a backup, a Showroom update — queues up and goes when there's signal.

Which cards does the price catalog cover?

English-language Pokémon sets today — about 32,500 products across 217 sets, refreshed nightly. Japanese, Korean and Chinese cards aren't in the catalog yet; they can be entered and sold, but Radiant won't pretend to know a market price for them. Sealed product is handled by barcode.

What hardware do I need?

An Android phone or tablet is the only requirement. To print labels you also need a 203 dpi thermal label printer that takes 50×20mm media and connects over USB or Bluetooth. A handheld barcode scanner is optional and speeds up a busy table.

If I self-host, what do I actually have to run?

A small backend for syncing and for serving your customer-facing pages, on hosting you control, pointed at your own domain. The app is the same app — you change where it points. It's a setup guide and an afternoon, not a devops job, but it does assume you're comfortable with a domain and a server. Everyone else should use the hosted plan, which is the same software with us running that part.

Why do I need an account for the free tier?

Because a printed QR code has to outlive the phone it was made on. If your identity were tied to the install, a new phone or a cracked screen would kill every laminated sign you'd already printed, with no way to claim the code back. An account is what makes “print it once” a promise rather than a hope. You can use the app fully signed out; the account matters when a code or a sync does.

What happens to my data if I stop paying, or if you disappear?

Your device keeps everything, because it already had everything. Exports are readable files you hold, backups go to storage you control, and self-hosting exists precisely so a business can run without depending on us. A lapsed plan costs you hosted sync and branding, not your inventory.

Can I take card payments through the app?

Not yet. Radiant records what you sold and for how much, whatever way the customer paid you. Accepting card payments in the app is in development and will be announced here when it's real.

Is it on Google Play?

Not yet. It's in private beta on Android, installed directly, and is being used at real shows while the remaining public-release work is finished. iOS isn't planned in the near term.

What do my customers have to install?

Nothing. Scanning your code opens an ordinary web page. There's no customer account, no sign-up and no app — what they save is remembered on their own phone.

Early access

Be told when it opens

Radiant Inventory is in private beta. If you sell at shows, run a case at a shop, or just want your collection to stop living in a spreadsheet, get in touch and you'll hear first — including when prices are set.

Email hello@radiantinventory.com

No list, no newsletter, no tracking on this page. An email reaches a person.