Unofficial prototype September 2026

Payment
Finder.

One sentence in. The payments that apply out, with a source and that page's own date on every claim.

Not affiliated with Services Australia No personal data held
Mum is 82 and moving in with us, I have dropped to three days a week.
caring for an ageing parent reduced work hours
Carer Payment Income support if you can't work full time because you give constant care.c_412
Carer Allowance Extra help for daily care, and you can get it while working.c_418
c_412Who can get Carer Payment2026-07-14
c_418Carer Allowance2025-12-02
not answeredHow much you'll get → official estimator
Vishal ShahIllustrative answer · ids and dates show the format
The problem 02

Each payment has its own pages and rules. People arrive with a situation.

11M+

calls to Centrelink and Medicare went unanswered in the year to April 2024

24 min

average wait on the Centrelink Aged Care line, double the year before

year before12 min
year to April 202424 min

Every call that only needed the right page is one a person could answer for themselves, in their own words.

Source: ABC News, 24 July 2024, "Centrelink, Medicare call waiting times balloon and over 11 million calls not answered"
The gap 03

Two vocabularies that never meet, until something translates between them

What a person types
“Mum is 82…”
“…moving in with us…”
“…dropped to three days a week”
What the pages say
constant care term
care receiver term
Carer Payment payment
income test rule

None of these words appear on the pages, so matching on spelling finds nothing.

One small model call rewrites the situation into the pages' own terms. Evidence found this way counts for less.

What we built 04

One fixed answer shape, with a source on every line

facetsHow we split the sentence up, shown to the person so they can spot what we missed
paymentsWho each one is for, and how it differs from the similar one next to it
signalsEligibility signals, never a decision. Only the agency decides.
next actionsOrdered steps that end on the official claim page
sourcesEvery claim links to a page and that page's own last-updated date
Mum is 82 and moving in with us, I have dropped to three days a week.
caring for an ageing parentreduced work hours
Carer Payment Income support if you can't work full time because you give constant care.c_412 Different from Carer Allowance, which is a supplement, not income support.c_418
Carer Allowance Extra help for daily care, and you can get it while working.c_418
c_412Who can get Carer Payment2026-07-14
c_418Carer Allowance2025-12-02
not answeredHow much you'll get → official estimator

Illustrative · ids and dates show the format, not live output

Speak it, in your language 05

Talk to it the way you would talk to a person. In the language you think in.

中文العربيةTiếng Việt ਪੰਜਾਬੀΕλληνικάItaliano हिन्दीनेपाली粵語 தமிழ்فارسی24 languages
Spoken in VietnameseMẹ tôi 82 tuổi và sắp dọn về ở với chúng tôi, tôi đã giảm xuống làm ba ngày một tuần.
searched in the pages' own English → principal carerCarer Paymentreduced work hours
viCarer Payment (Trợ cấp cho người chăm sóc)
arCarer Payment (راتب مقدّم الرعاية)
itCarer Payment (pagamento per chi assiste una persona)
Payment names stay in English beside a translated gloss, so people can search the official site and staff recognise themglosses from live runs, 18 Sep 2026
What it refuses 06

It knows what not to answer, and where to send you instead

Record

Your claim or balance

That needs a login, and this tool holds no personal data at all.

→ myGov
Amounts

How much you'll get

Rates change and depend on your circumstances. A wrong figure hurts most when money is tight.

→ official estimator
Time

Wait and processing times

Operational data we don't have, and must not seem to have.

→ the phone line
Decision

“Do I qualify?”

We show eligibility signals. Only the agency decides.

→ the payment's own page
Identifiers

CRN, TFN, Medicare, birth date

Blocked before search runs, and the person is told why.

→ nothing is stored
Scope

Business and provider topics

A different part of the site, and not in this tool's content.

→ the right entry point
Caught by pattern in code before any model runs8 refusal cases in the eval suite
How it works 07

Every route ends in a sourced answer or a clear refusal

01
Guard

Screen

Identifiers and refusal types caught by pattern

02
Understand

Split and expand

Facets, plus a rewrite into the pages' vocabulary

03
Retrieve

Hybrid search

Keyword search plus vectors, combined by weighted rank fusion

04
Gate

Confidence floor

Weak evidence means a refusal

05
Write

Synthesise

Fills a strict JSON shape from retrieved passages only

06
Check

Validate

Six rules in code, never half an answer

RefusalSays why, gives the official place to go instead, and the phone number.
AnswerIn the person's language, with English source titles and dated links to official pages.
379 public payment pages · chunked by heading · one SQLite filesaal/pipeline.py
How it stays honest 08

Six checks run after the model, in code, not left to the prompt

RULE 1

No invented sources

Every cited id was actually retrieved for this question

RULE 2

Nothing unsourced

Every eligibility signal and next action cites a source

RULE 3

No invented payments

Each payment name appears word for word in a passage it cites

RULE 4

Links only to cited pages

A link that doesn't match a cited source is removed

RULE 5

Right shape or nothing

If the JSON is malformed, retry once, then refuse

RULE 6

No money or time figures

A dollar figure or wait time is removed and listed as not answered

Rule 3does most of the work: the model can't name a payment the pages never mention.
Measured, not just demoed 09

43 eval questions on 379 real pages, and every scorecard kept, pass or fail

first real runafter a day of eval-driven fixesgate
Right page foundretrieval recall
0.82
0.89
Citation faithfulnessjudged by Claude · gate 1.00
1.00
0.84
0.93
Payment recallgate 0.90
0.90
0.74
0.76
Compound recalltwo or more payments · gate 0.80
0.80
0.58
0.67
Safety gates held in every run
0fabricated payments
100%refusal precision
0%over-refusal
11smedian answer, down from 26s
Read honestlyFour quality gates are still below target: payment recall, compound recall, faithfulness and latency (6s gate). The remaining misses are named in docs/decisions.md D21, mostly Family Tax Benefit on family questions.
Engineering choices 10

Small, dependency-free, and hard to misuse

0

Required dependencies

Standard library only. A fresh clone runs with nothing installed.

99

Offline tests

Pass in under a second, with no network and no key

1 file

SQLite corpus

Full-text search plus vectors, no database server

0

Questions logged

The request log is off, so people's circumstances are never stored

379 / 4,304

Pages in scope

Chosen by payment and page type, including declared disaster events

10 s

Crawl delay honoured

Follows robots.txt and the site's requested rate

23

Decisions recorded

Including the defects the eval suite and Day 0 caught

24

Voice languages

Speech in, answers back in the same language, read aloud on request

The value 11

Who gains, and how

People

Start from their life, not a payment name

  • Every payment that applies to a compound situation, in one answer
  • Answers in their own language
  • Source links they can show to anyone
The agency

People reach the official page, not a phone queue

  • Every answer sends traffic to its own pages
  • Could take pressure off calls that only need the right page
  • No personal data, and every claim traces to a dated page
Delivery teams

A pattern worth reusing

  • Fixed answer shape, checks in code, refusals designed in
  • Quality shown by a scorecard, not by how the demo feels
  • Page dates flag stale content at no extra cost
Reduction in calls is a hypothesis to test, not a result
Built with Claude 12

Claude runs the product, and Claude built it

In the product

Three narrow jobs for Claude

  • Claude Sonnet 5 writes each answer into a fixed JSON shape, in the person's language
  • Claude Haiku 4.5 rewrites the situation into the pages' English vocabulary
  • Haiku also judges every cited claim in the eval suite
Building it

Claude Code as the engineer

  • Measured the live site, found it had restructured, and rescoped the crawl
  • Built the crawler, retrieval, validator, interface, voice and this deck
  • Tuned by scorecard: trace coverage from 11 to 29 of 31 in a day
Keeping it honest

Defects found, not hidden

  • Nine real defects caught by evals and tests, each recorded with its fix
  • Empty answers traced to thinking tokens, a hung server to browser preconnects
  • Rules held: never lower the floor, never weaken the validator
Every decision and defect: docs/decisions.md, D1 to D21
Where it stands 13

Working today on the real site. Ready for the people it is for.

Done
  • 379 official pages crawled politely, every one dated
  • Voice and answers in 24 languages
  • Validator, refusals, identifier screen, 99 tests
  • Real scorecards, failures kept
Next
  • Recall to the 0.90 gate: Family Tax Benefit on family questions
  • Latency to the 6s gate
  • Scheduled recrawl as disaster events open and close

Every answer ends on the official page.

Try the recorded demo: vishal8shah.github.io/payment-finder
Watch the 2-minute film: vishal8shah.github.io/payment-finder/film
Unofficial · not affiliated with Services Australia · content © Commonwealth of Australia, CC BY 4.0