Every badge and business card, read into one pool
A card enquiry, a form reply, a CSV import and a photo of a badge are the same thing arriving four ways — a person. They land in one pool, not four.
It reads the badge, not just the barcode
Most badges carry a barcode or a QR code with a name and a company in it, and that is read directly. The ones that do not — or a personal business card handed over at a stand — are read from a photo instead, by AI, told explicitly never to invent a field: no email address is ever constructed from a name and a company. What it could not read is shown back editable rather than saved wrong and forgotten.
If a badge carries an organiser's own identifier rather than a person, that is reported as exactly that, with a retake offered — not silently failed and not guessed at.
The same person, not a second row
An address matches an existing contact and merges into it; a disagreement is kept as history rather than overwritten, so a stale import can never quietly replace something a person typed. A badge with no address still catches an exact re-scan — name, phone, company and title all matching — without ever merging on a bare name alone, because two people called Dana Okoro at the same show are two people.
Scanned at an event, a contact is tagged with that event's name automatically. Scan the same person at a second show months later and both are on their record, not just the most recent.
An event is not forever, and does not have to be
Split into Hosted (yours) and Attended (somebody else's show you turned up to), each with its own dashboard — total scans, who scanned them, and traffic by hour. Set an event to auto-delete itself 30, 60 or 90 days after it ends and it does, with a warning email 7, 3 and 1 day(s) before. The contacts it produced are not part of that — they stay in your pool with their scanned image for as long as they exist, whatever happens to the event.
What you can do with it
A page per person, not a spreadsheet row
Every contact has its own page: the fields, the scanned image, notes, and however many tags apply — exported or deleted from there, with the confirmation saying plainly when a scanned image goes with it.
Read the badge, not the typing
A photo is enough. The camera opens the moment the button is tapped, and a failed read offers a retake rather than a blank form to fill in by hand.
One table for the whole pool
Search, filter by tag or by source, select any number, and export or delete them — the same table whether they came from a card, a form, an import or a badge.
More in the same place
Questions
Does it invent details it could not read?
No. The model is told explicitly never to construct a field it did not see printed — in particular never to build an email address from a name and a company. What it cannot read is shown back for a person to fill in, not guessed at.
What happens to a contact if the event that produced it is deleted?
Nothing. Auto-delete removes the event — its dashboard and scan history — not the contacts it produced. They stay in your pool, keep their tags, and keep their scanned image, whether the event was deleted by hand or expired on its own schedule.
Which plan is it on?
Starter and above.
Try it with one code
The free plan has no expiry and asks for no card, and the analytics behind it are the same ones a paying customer gets.
Free forever for one person. No card, and scans are never metered.