DashForge
← All work

Collectors

Cartridge

Your whole collection, on your phone, with the radio off.

A retro game and console catalogue that runs entirely in the browser. It installs to a home screen, stores everything in the device's own database, scans a cart label with the camera, and prints an insurance inventory with photos and values. There is no server and no account.

LocalPremadeLive demo
Server
None

browser database, no account

Works offline
Everything

catalogue, search and photos

Insurance list
One PDF

photos and values included

What was going wrong

A collection lived in a spreadsheet that was never open at the moment it was needed, which is standing in a hall holding a copy of something you might already own. Insurers wanted an itemised list with photographs, and the honest version of that list was a shelf and a memory.

What we built

Build it as if the network does not exist, because at a swap meet it mostly does not. Everything lives in the browser's own database, the app installs to the home screen, and the camera does the typing. Completeness per system turns a list into a target, and the same data prints an inventory an insurer will accept. The whole thing can be exported to a file, because a collection outlives an app.

What it looks like

Every screen shown on a desktop and on a phone, because half of these are used standing up.

The collection

Everything owned, by system, region and condition, with search that answers the swap-meet question in under a second.

/collection

/collection

Desktop capture

1440 × 900

9:41

Mobile capture

390 × 844

One item

Condition, variant, what it cost, what it is worth now, and the box, manual and cart photographs.

/collection/[id]

/collection/[id]

Desktop capture

1440 × 900

9:41

Mobile capture

390 × 844

Set completeness

How much of a system's library is actually on the shelf, per region. The number that turns a pile into a project.

/collection/sets

/collection/sets

Desktop capture

1440 × 900

9:41

Mobile capture

390 × 844

Export and reset

The insurance PDF, a plain JSON backup, and the import that restores it — the same code path the demo reset uses.

/collection/data

/collection/data

Desktop capture

1440 × 900

9:41

Mobile capture

390 × 844

What it does

Who reaches for it, and when

At a swap meet

Checks whether they already own the boxed copy in their hand, in a hall with no signal and no data allowance.

After a good weekend

Adds nine items by scanning, and watches one system's completeness move.

Renewing the contents insurance

Prints an inventory with photographs and values instead of describing a spare room over the phone.

What makes this one different

  1. There is no server at all

    Not a hosted app with an offline mode — a browser database with a service worker over it. Nothing about the collection leaves the device, and there is nothing to pay for or shut down.

  2. Versioned migrations from day one

    An on-device database with no server has no other way to change shape. The store carries a version and a migration path from the first release, because a collector's data cannot be rebuilt from a backend.

  3. Export is the reset button

    Loading the demo collection uses the same import code path a collector uses to restore a backup, so the risky path is exercised constantly instead of once a year.

  4. It expects the label to be unreadable

    Barcode scanning on a thirty-year-old cart fails often enough that the manual path is a first-class route rather than an error state.

Built with

What each piece is doing here — the people who read this section are usually the ones who would have to maintain it after us.

Want something like Cartridge?

It does not have to be your industry — the underlying problem is nearly always the same. Tell us how the work moves through your business and we will tell you what it would take.

Every project is quoted on its own. Turnaround starts at two weeks.