Quality control for robot-written cards: how we check every card
How every robot-written card is checked: notes become pen strokes, OCR reads each word back, unclear words are redrawn and digits must match exactly.
Quality control for robot-written cards starts before the pen touches paper: every note is turned into pen strokes and read back by OCR, word by word, and nothing is written until every word reads correctly. Then the finished card is checked again. Here is how that works at notecardHQ, and why each step exists.
Why checking comes first
A handwritten card cannot be edited. Once ink is on the card, a wrong letter stays wrong, and once the card is stamped and mailed, it is gone. So the checks that matter most happen before any writing, when fixing a problem costs nothing more than a redraw.
That is the principle behind the whole process: catch problems on screen, not on paper.
Step 1: The note becomes pen strokes
A note arrives through the API or the portal as the exact text you sent, from 1 to 500 characters. A handwriting model turns that text into pen strokes: the paths a pen will follow to write each letter, word, and line on a 7x5 card.
Most characters are written natively by the model. Characters it cannot write natively, like @, $, &, and %, are drawn as single-stroke glyphs, so they come out clean and recognizable in the same pen as the rest of the note.
At this point nothing has been written. What exists is a plan for the pen.
Step 2: OCR reads it back, word by word
A handwriting model produces natural variation, which is what makes the result look written instead of printed. Variation also means a letter can occasionally come out ambiguous: an "a" that leans toward an "o," or an "n" that could pass for a "u."
So before writing, the rendered strokes are read back by OCR and compared to the note you sent, one word at a time. Every word must read back correctly. If a word is unclear, that word is redrawn and read again. The note only moves on when every word passes.
This is a stricter test than it might sound. OCR has no idea what you meant to say. It only knows what the strokes look like. If software reading cold can recognize every word, a person reading your card can too.
Digits must read exactly
Numbers get a stricter rule than words. A slightly loose letter in a familiar word is usually still readable, because the eye fills it in from context. A digit has no context. A 1 that could be a 7, or a 5 that could be a 6, changes an order number, a date, or a phone number, and the reader has no way to know.
So digits must read back exactly. Close is not good enough. If a digit does not read back as the digit you sent, it is redrawn.
Step 3: A robot writes the card
Once every word passes, the note is written by a robot holding a real pen in our New York studio. The card uses your front and back design from the card studio, and your return address is the one you set in the portal. Notes are written as they arrive, and the studio writes hundreds a day.
When the note has been written, its status changes to card_printed.
Step 4: Checked again after writing
The on-screen check catches problems in the plan. The physical check catches problems in the writing. After a card is written, it is checked again before it moves on to be stamped and mailed.
This second look covers what only a finished card can show: the card itself, as the recipient will hold it.
Step 5: Status you can track
Every note has a status you can read from the API with GET /api/v1/notes/{id} or see in the activity view in the portal:
created: the note was accepted and is in line to be written.card_printed: the card has been written.card_dispatched: the card has been stamped and sent.cancelled: the note will not be sent.
You can build on these statuses: update a CRM record when a card is dispatched, or show a teammate which customers have a card on the way.
What you control before it reaches us
The studio checks what it writes. You control what it is asked to write. A few things on your side make the whole chain more reliable.
Addresses. US addresses are verified and standardized when you submit them, and an undeliverable US address is rejected with a 422 before anything is created. International addresses are stored as sent, so check them before you send.
Content. The note is written exactly as sent. OCR confirms the writing matches your text. It cannot tell you that your text has a typo or an empty name field. Check for that in your code before the request.
Duplicates. Send an Idempotency-Key with every request. The same key and the same body return the same note, never a second card. The same key with a different body returns a 409.
Testing. Build with a test key, which never writes or mails anything, then send one real note to yourself with your live key and look at the result with your own eyes.
More on the request itself is in the handwritten notes API guide. For what to write, see how to write a handwritten note for customers.
The full status reference is in the notecardHQ API docs.