Korean parents are entitled to support from national, provincial, city and district
programmes at the same time. The amounts change with where you live, which child this is,
and how long you have lived there. Most families never see the full picture. 혜택모아
assembles it — with the government document behind every figure.
보자기 — separate pieces, one cloth
The name
혜택모아 means, roughly, "benefits gathered."
혜택
Hyetaek
Benefit. The support a household is entitled to — cash, vouchers, discounts, priority.
모아
Moa
Gathered. From 모으다, to collect scattered things into one place.
The name is the product description. Nothing here is hidden from families — every one of
these programmes is published by the government that runs it. They are simply published in
dozens of different places, in different formats, under rules that change by district and by
year.
The problem
The same child is worth wildly different support depending on the district line.
These are real municipal birth-grant structures. A family that moves one district over, or
has a second child rather than a first, is in an entirely different scheme — and there is no
single place that tells them so.
Metro district
₩600,000
First child, paid once.
Neighbouring district
₩2,500,000
Second child, five instalments.
Rural county
₩19,000,000
Over five years, with a residence requirement.
Same county, before 2024
₩4,400,000
First child, under the previous scheme.
And the danger runs both ways. A headline figure of ₩19,000,000 is not a cheque — it is
₩300,000 a month for sixty months, and only if the family stays registered in the county.
Showing that number without its conditions is not generosity. It is a promise the government
never made.
What it does
Answer a short set of questions. See what you qualify for, and why.
Ask only what is needed
A short first pass covers most programmes. Extra detail is requested only where it genuinely changes an amount, not to fill a form.
Real amounts, with conditions
Instalments are shown as instalments. Residence requirements are shown as requirements. A five-year total is never presented as cash on the day.
Every figure carries its source
Each benefit shows the government page or ordinance the number came from, so a family — or an official — can check it.
Screening
Matched benefits
Benefit detail + source
Wireframes — build screens are being captured and will replace these. The coloured rule on
the third screen is the citation line.
How the numbers are kept honest
An app about money is only as good as its worst figure.
Deterministic core
Every won figure is produced by a deterministic engine, not a language
model. The AI writes the explanation around an amount it has already been handed. It
cannot originate, adjust or round a number, because it is never asked for one.
Primary sources
A value is only treated as verified when it has been checked against the
government body that pays it. Aggregator sites and news articles are
never accepted as proof, however confidently they agree with each other.
Honest gaps
Where an amount genuinely cannot be determined — because it varies by district, or
depends on a decision the family has not made yet — the app
says so and explains why, rather than showing a confident zero.
The governing asymmetry
Understating a benefit costs a family money. Overstating one costs them
trust — so every ambiguous call is resolved toward the cautious number and an
honest explanation, never the flattering one.
Build journal
How it has actually been built.
Development runs in numbered working sessions, each opening by verifying the previous
session's record is intact and closing with a written, committed handoff. These are the
moments that shaped the product.
Early sessions — the founding rule
Accuracy over ease of architecture.
The first real fork: a benefit whose value genuinely varies could be flattened to a
single ceiling figure with a disclaimer, or the variation could be modelled properly in
the schema. Flattening was faster and would have been wrong on screen. The principle
that came out of it governs everything since.
Architecture
Splitting the money from the language.
The obvious build hands a family's details to a language model and lets it answer. It
demos beautifully and it is indefensible — you cannot explain to a government partner
why the number was what it was. So money and words were put on separate rails, and the
model was locked out of the arithmetic entirely.
Screening design
Two stages, so the first one stays short.
Asking everything up front is how benefit finders lose people. Most programmes resolve
from a handful of facts; only some need more. The matcher was built to answer what it
can from stage one and clearly defer the rest, rather than demanding a full profile
before showing anything.
Verification
Checking every figure against the office that pays it.
A long stretch of work spent not building features at all: reading municipal pages and
ordinances, one benefit at a time, and recording what each value actually rests on. It
produced a deliberately narrow vocabulary — separating "we have not checked this" from
"we checked, and the source is wrong," which most review processes collapse into one
word.
A case that changed the method
The entry that matched its source exactly, and still could not be trusted.
A district grant stored four payment tiers and two instalment schedules. The district's
own page returned all six figures, identical, down to the contact phone number. A clean
pass by any normal standard.
Except the page carried a last-modified date of 2022 and described a national voucher
under a rule that had since changed. The value was perfectly faithful to a source that
had stopped being true — so the vocabulary gained a verdict for exactly that, and the
entry moved off a status it did not deserve.
A bug worth recording
A check that came back clean, and was broken.
A sweep across the whole benefit corpus looked for cross-references pointing at
programmes that did not exist. It returned nothing. Clean.
It was not. A scoping error made every comparison ask whether a list contained itself —
always true, so nothing was ever flagged. A broken filter and a healthy corpus produce
identical output. The only thing that caught it was a rule adopted earlier: before
running a check, write down one case that must appear. One had been written down. It did
not appear.
Underneath was the real finding — a set of rules marking benefits a household can only
receive one of, declared in the data and applied by no code at all. Every one of them
would have inflated a family's total.
Session 110 — where the record stands
110 sessions, and every mistake written down beside the findings.
Each session logs its own errors with the same prominence as its results — a prediction
made without measuring, a search that matched a false positive, a guard written and then
wired to nothing. A record that contains only successes tells a reader nothing about
whether to believe it.
A retraction is cheaper than a wrong record — and a check stated in advance is cheaper than both.
Standing rule, from the project's operating method
Where it stands
Built, audited, and not yet launched.
Done
Matching engine and benefit schema
Two-stage screening architecture
Benefit corpus across five source files
Sign-in, onboarding and results flow
Verification method and audit record
In progress
Primary-source verification, benefit by benefit
Account and data controls for store review
Privacy and consent copy under Korean rules
Real-device testing
App Store and Google Play submission
There is no launch date announced, and there will not be one until the verification work is
further along. An app that tells families what money they are owed does not get to ship a
number it has not checked.
Colophon
Built by one developer, in the open.
혜택모아 is designed and built by Vincent Kim, in Richmond, British Columbia. The
approach comes from a previous life running contact-centre workforce management —
queue routing, forecasting, and the habit of not shipping a diagnosis you cannot
defend.
The development record is kept as a written audit trail rather than a changelog,
because the intended standard is a government partnership, and a partnership like that
asks a question a screenshot cannot answer: where did this number come from?