Fig. 02 · Voice-first jobs auditing

Direct Beneficiary Verification

Asks workers themselves, in Amharic, Afaan Oromo or English, whether a development programme's “good job” was real, and turns the conversation into an auditable monitoring record.

1st place · AI Builder Hackathon
Role
Technical lead
Team
Team Bekoji
When
Aug 2026
Stack
Laravel 13, React 19, PostgreSQL, Laravel AI SDK, Llama 3.3 70B on Groq, Addis AI, Whisper

01The problem

Ethiopian development programmes report jobs created from spreadsheets the employers fill in. The workers are never asked. Many only have feature phones, and most don't speak English.

02How it works

7 steps
  1. 01 · System moves data

    The worker speaks

    Through a web voice interface or a 2G feature-phone IVR. Addis AI handles Amharic and Afaan Oromo speech, Whisper handles English.

  2. 02 · AI proposes

    Two specialists extract

    A supervisor fans out to an employment-facts agent (age, hours, wage) and a rights agent (child labour, forced labour, discrimination, association). Every claim carries a source quote and a confidence score.

  3. 03 · AI proposes

    A critic checks the claims

    A temperature-0 verifier re-reads every claim against the raw transcript and lowers confidence wherever they don't match.

  4. 04 · Rules decide

    Rules decide the verdict

    A plain PHP engine rules seven statutory clauses as met, not met or unclear. Anything under 0.55 confidence is unclear. A stated age under 15 stops the interview immediately.

  5. 05 · AI proposes

    Ask instead of guess

    An unclear clause becomes a follow-up question that echoes the worker's own phrase in their language, spoken back to them.

  6. 06 · Person approves

    The employer confirms

    A magic-link portal lets the employer confirm or dispute. Records reconcile into agree, disagree, worker-only or employer-only, and disputes go to programme staff. Nothing is clawed back automatically.

  7. 07 · Rules decide

    A signed evidence pack

    Records are SHA-256 hash-chained and signed, so changing one breaks every hash after it.

  • AI proposes
  • Rules decide
  • Person approves
  • System moves data

03Hard problems

3 of them
01

Keeping hallucinations out of a compliance verdict

The model only extracts claims with quotes, a critic re-checks them, and deterministic rules make the call. Low confidence never becomes a guess; it becomes a question.

02

Three languages, two scripts

Numbers are parsed from English, Ge'ez-script Amharic and Afaan Oromo phrasing. Vague answers like “after the rains” are routed to a clarifying question on purpose.

03

A child-safety interlock

An age under 15 stops the interview, logs a hard-case flag, and counts the person as zero toward the programme's figures.

04By the numbers

Demoed on synthetic records. No real beneficiaries were interviewed.
place, jury award, AI Builder Hackathon Addis Ababa
1st
of active build time
~9 h
languages, two scripts
3
automated tests
64

05What I'd do differently

The rule engine reads numbers out of free text with regex, which is brittle across languages. I'd have the extractor return typed, schema-validated fields and keep regex only as a cross-check. A donor-grade evidence pack should also use a public-key signature, not an app secret.
Next · Fig. 03BuderaAgentic banking with a policy engine