Kardhaus

Two sides. One person. Obviously.

The most common business card in Taipei, Tokyo and Hong Kong is the one every scanner in the world gets wrong.

Last updated 2026-08-17

The failure, precisely

A card reads 陳志明 · 業務部經理 · 台灣積體電路製造股份有限公司 on the front, and Chih-Ming Chen · Sales Manager · TSMC on the back. That is one human being with one job at one company, printed twice for two audiences.

Scan it with almost any card app and you get two contacts. Or you get one contact and the other side is silently discarded. Or the app never asks for the back at all, and you find out months later that half your address book is missing its phone numbers, because the direct line was printed on the English side.

This is the single most-requested fix in this category and it is still unshipped. One app in Japan paywalls back-side scanning behind a ¥600 monthly subscription. Most simply do not model the concept of a card having two faces.

Why it is genuinely hard

  • Two faces are two images with no shared text. There is often not one matching character between them, so naive text similarity finds nothing to join.
  • Han unification. 田中 is the same code points in Traditional Chinese and Japanese. Nothing in the bytes tells you whether that is *Tanaka* or *Tián Zhōng* — you have to infer it from phone country codes, address script and whether romaji appears.
  • The back is not always a translation. Sometimes it is a company profile, a QR code, a product list, or a completely different person at the same firm. Assuming a merge is as damaging as never merging.
  • Phone numbers conflict rather than duplicate. The Chinese side has the switchboard, the English side has the direct line and an extension. Naively deduplicating loses one; naively keeping both produces four numbers where there are two.

How Kardhaus handles it

  1. It asks for the back

    Immediately after the front capture, before you put the card down. Not buried in a menu — a prompt over the still-live camera, with "yes, shoot the back" as the default focus and "no" exactly as easy to press.

  2. It detects the script on each face

    Traditional Han, Simplified Han, kana, hangul, Latin — per face, not per card. That classification is what makes the rest possible.

  3. It decides what it is looking at

    Same person in two languages, two different people, or a person plus a company information page. If it genuinely cannot tell, it says so and asks you rather than guessing.

    This is the rule that matters: never produce two contacts from one card, and never merge two people into one.

  4. It cross-fills instead of overwriting

    Chinese name and English name both persist, in `name` and `nameAlt`. Same for the company. You do not lose 台灣積體電路製造股份有限公司 because TSMC was shorter.

  5. It classifies the phone numbers

    Work, mobile, fax and extension are separate types, reconciled across both faces — so a switchboard on the front and a direct line on the back become two correctly-typed numbers, not four guesses.

  6. It shows you where every field came from

    Tap a field and the region of the card image it was read from highlights. You verify rather than trust. Low-confidence fields are flagged and sorted to the top, with the warning kept on the record after you save.

A double-sided card counts as one card

Including in the 100 free scans on the waitlist. Charging twice for one person’s card would be a strange way to introduce a feature whose entire point is that it is one person.

Common questions

What if the back is in a language I do not read?
Both versions are stored and both are searchable, so you can find the contact by whichever name you remember. Kardhaus does not translate the card — it records what is printed, in both scripts, which is what you actually want in an address book.
Can I add the back later, after I already saved the front?
Yes. Open the card and shoot the second face; the merge runs then. You can also undo a merge if it joined something it should not have.
Does this work for Japanese cards with furigana?
That is the plan — furigana printed on the card is the most accurate pronunciation source available, and it is free to read since it is already in the image. It also fixes kana sorting and search, and it is written to the phonetic fields when you export to iOS Contacts.
What about a card that really is two different people?
Kardhaus asks. It will not silently create one contact out of two people, and it will not silently create two out of one. When confidence is low, the app surfaces the ambiguity instead of hiding it.

Not on the App Store yet

Get the first build, and 100 free scans

100 free scans, front and back included

Kardhaus is in development for iOS 18 and later. Leave your email and you get the TestFlight build when it opens, plus 100 free AI scans on the house — double-sided cards included, counted as one card, not two.

A person reads these. They go on the build list, in order of how often they come up.

One email when the build is ready, one when it launches. No newsletter, no drip sequence, never sold and never handed to an ad network. Stored in our own Cloudflare database and a private Google Sheet. Unsubscribe deletes the record. How we handle this email