혜택모아 Hyetaek Moa
In development

Korean family benefits, in one place

Every benefit your family is owed, gathered.

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?

Name혜택모아 · Hyetaek Moa
PlatformiOS and Android
Built withReact Native · Expo · TypeScript
BackendSupabase
Corpus59 benefits, five source files
Sessions110 documented
StatusPre-launch