"Why can't you just scan it?" How Tziyun B'Rega began
It started with one email asking a simple question. The studio's account of the first search, a lottery-ticket comparison, a childhood memory of bubbles, and why we built our own reader.
6 min read

Every product has a first sentence. For Tziyun B’Rega it was a question in an email: why can’t you just scan a multiple-choice exam and have it graded in moments?
It sounded simple. This is the studio’s account of what happened next, checked against the project’s history where the history can check it. It is a story about looking around.
Key points
- It started with one email: why can’t you just scan a multiple-choice exam and have it graded in moments?
- AMC, an open-source exam tool, already reads ticks. We had our own reasons for not building on it, and they are not a verdict on AMC.
- The idea was to keep everything on one sheet: the student ticks right next to the question, the way a teacher checks by hand.
- Today the app reads a small box ticked by hand in pen. We have proven pen, not pencil, so we do not claim pencil.
The first search
We started by searching for what already exists. We found AMC, an open-source tool for making and marking multiple-choice exams, written mostly in a language called Perl. It is free software that other people built and share, and it is still maintained. We were glad it was there.
What caught our eye was the sample exam on AMC’s overview page (opens in a new tab). The answers are small empty boxes beside each choice, on the same page as the question, marked by hand with an X. They are not filled bubbles. That is what made us dig in.
What is open source?
Open source software is software whose inside, the code, is published for anyone to read, use and improve under the terms its authors set. It is like a recipe that the cook has shared instead of keeping secret.
The project history shows how seriously we took it. The repository began on 31 October 2025. The next day, 1 November, a commit added AMC to the project, and a first small test ran from the new program. On 13 November the AMC code was removed again. So AMC was part of the project for under two weeks, long enough to learn from it and no longer.
What is a project’s history?
A repository is the folder where a project’s files are kept together with a record of every change. Each time someone saves a set of changes with a short note, that is called a commit, so the history reads like a diary with dates. We use it to see what we did and when.
During that search we asked an AI assistant to read AMC’s code and show us where it checks the answers. That is how we learned the name of the whole field: OMR, optical mark recognition. Until then we had no word for what we were trying to do.
The lottery-ticket lesson
An engineer friend gave us the big picture in one comparison. Think of lottery tickets. The ticket, the scanner and the machine behind it are all built for each other. Everything is laid out in a fixed pattern, so the machine knows exactly what it is looking at.
That was our takeaway too: classic exam scanning works because the paper, the scanner and the software are designed together.
The bubble problem
Then the owner remembered something from childhood. Growing up in the USA, the owner took the standardized tests where you must fill each bubble in completely. It is not how a student naturally works. The owner remembers spending more time filling in bubbles than answering the question.
And it is more than the filling. In those tests the answers go on a separate page. Your eyes leave the questions, find the right row on another sheet, and come back. The student’s attention is split between two pieces of paper, when it should be on the exam.
So the idea became: keep everything in one place. The student answers right on the exam paper, next to the question, with the natural thing, a simple tick. That is also how a teacher checks an exam by hand. We did not invent a new way of examining. We kept the human way and added the automation, so the computer has to recognise a tick made by a person.
Why we did not build on AMC
AMC already reads ticks, and we want to be clear about that. The idea was not new to it. What we had to decide was how to build our own product, and these were our reasons. They are our reasons, not a verdict on AMC.
- It is written mostly in Perl. Perl is an old language. At the very least we wanted something modern.
- We did not need the whole program. Once we understood the small handful of values AMC’s marking depends on, we saw we could do that part ourselves.
- It comes as one whole program. To ship it we would have to ship the whole program, and for software that people download and install, that is a lot of disk space to waste.
- Memory. Our view is that modern languages, once they are turned into a finished program, use the computer’s memory more safely.
AMC was also built for a different job. Its own documentation says it is designed for use under Linux, though it can run on Mac and Windows with more effort. Ours is a Windows program that has to work offline.
Building a way to check ourselves
A tick drawn by a real person is unpredictable, so we could not just hope the new reader worked. In the project’s OMR repository we built a whole QA application, a tool whose job is to show us what the reader did on each page, so we could prove things one step at a time instead of guessing. The history shows this work in June 2026: the rewrite began on 3 June, and the first version of the QA viewer is dated 8 June.
What is QA?
QA stands for quality assurance: checking that something does what it should. Our QA tool shows, page by page, what the reader decided, so we can see where it was right and where it was wrong instead of guessing.
One part of the road was long and hard: making the program reliably make sense of a real scanned page. A real scan is not a clean file on a screen. We are deliberately not going to describe how this works, because that part is ours to keep. We will say that a lot of the time went there, and that the QA tool is what kept it honest.
What the question taught us
Looking back, that simple question was a good one.
Tziyun B’Rega kept the human way of examining and made the machine adapt to the student. Today the app reads the small box a student ticks by hand in pen. We have proven pen. We have not yet proven pencil, so we do not claim it.
That one email did not make the product. The search left us with one rule: do not ask people to change how they work if the software can change instead.
Nothing in this story matches your search.
Read next
How we chose the tools: Tauri, Electron, then Wails and GoWe started with Rust and Tauri, went back to the tools we knew, and ended up with Go and Wails, which we never planned. The lesson: pick tools you can deliver with.
Why we left Electron: the exam that moved on the pageTziyun B'Rega printed exams through a hidden Chrome window, and later pages drifted. We tried LaTeX twice, then found Folio, Go and Wails. The project history shows the path.