Kokua — Devpost Submission

Inspiration

People in crisis don't fail to get help because resources don't exist. They fail because triage is broken. A veteran with PTSD and a substance use disorder gets sent to a generalist shelter that can't serve him, gets rejected, and gives up. Not because there wasn't a better option. Because no one had the time or tools to find it.

Community health workers are doing heroic work under impossible conditions: dozens of clients, fragmented knowledge of local orgs, and routing logic that amounts to "whoever has an open slot." The result is a churn of denials and bounce-arounds that erodes trust on both sides.

We built Kokua because the mismatch problem is solvable — and nobody has solved it with the kind of contextual intelligence that actually fits how field workers operate.

What It Does

Kokua is an AI matching layer for community health workers. A worker pastes a free-text account of the person they've met in the field and Kokua returns the community organizations that actually fit that person's specific situation: ranked by specialty, eligibility, capacity, and proximity, with visible reasoning for every match.

Then it drafts a warm referral, tailored to the top organization's intake requirements.

The worker reviews, edits, and approves. Kokua recommends — the human commits. The referral goes out with one click.

How We Built It

  • Frontend: Next.js, deployed on Vercel — single-screen, single path, zero unnecessary complexity
  • Data: Supabase stores our organization database — specialty tags, eligibility constraints, capacity, and intake contacts — queryable at runtime by the recommendation layer
  • Intake: Google Document AI converts field photos and handwritten notes into clean text, so workers aren't forced to type — they can photograph their intake sheet and go
  • Matching: A two-tower recommendation model finds the best-fit resources for each client by learning separate embeddings for client needs and org capabilities, then ranking by vector similarity across multiple factors (specialty, eligibility, capacity, proximity)
  • Referral drafting: Gemini API takes the matched org and client context and generates a warm, tailored referral — specific to the org's intake requirements and the client's situation

The pipeline: Document AI extracts structured factors from raw intake → two-tower model ranks orgs from Supabase → Gemini drafts the referral → worker reviews and approves in one click.

Challenges We Ran Into

Scope discipline. The instinct at a hackathon is to build more. We had to fight that constantly. Every one of those was the right call to cut. The constraint made the demo sharper.

Explainability over accuracy. It's not enough for the match to be right — the worker has to trust it. That meant investing in reasoning chips and visible fit factors rather than just a score. Getting those to feel substantive, not boilerplate, required iteration on the prompt.

The emotional sensitivity of the problem we’re solving. Framing the human-review moment correctly was harder than it sounds. It had to feel like genuine oversight, not a rubber stamp — but also not a friction point that slowed the worker down. The approve-and-send flow went through several versions before it felt right.

Bias pre-emption. There's a published failure literature on AI matching in homeless services that point to predictive prioritization tools encoding bias and eroding trust. We had to decide how to address that proactively rather than wait for a judge to raise it.

Accomplishments That We're Proud Of

  • A demo that makes the problem real before it explains the solution
  • Multi-factor matching with visible reasoning that sets this apart from any other GPT wrapper
  • A trust architecture baked into the core flow that turns the hardest kill shot into a feature; decision support (not automated decisions) with an audit trail
  • Keeping scope to a single screen and a single path under 24-hour conditions, and shipping something that could realistically provide value to people in the community in its current state

What We Learned

Many people think that the matching problem is a data problem, but actually it's a reasoning problem. Existing tools auto-suggest from rigid eligibility forms. What's missing is the layer that reads the person, not the checkboxes. That gap is real, fundable, and narrow enough to own.

Human-in-the-loop is an intentional feature that is meant to build trust into our system. In the same way that Claude is known to be a more safe AI because of its permissions protocols, the visible review step is what makes Kokua usable in a field where a wrong referral doesn't just waste time; it costs someone their willingness to try again.

A 90-second pitch that makes people feel the problem is worth more than a 3-minute feature tour.

What's Next for Kokua

The demo proves the matching intelligence. The company story is what sits on top of it.

Short term: plug into existing referral rails (Unite Us, findhelp) as an intelligence layer — not another network, but the reasoning engine those networks are missing. Workers keep their existing workflows; Kokua upgrades the triage logic underneath.

Medium term: loop closure. When a referral is declined, Kokua re-routes to the next-best match automatically, logging every outcome. That feedback loop is how matching gets better over time and is how you build a valuable proprietary dataset that existing platforms don't have.

Longer term: the by-name list problem. Coordinated Entry Systems track individuals over time but match crudely. Kokua's contextual reasoning, applied at the system level, could meaningfully reduce the churn that burns out workers and breaks trust with clients.

The infrastructure exists. The rails exist. What's been missing is the intelligence layer that reads the human situation. That's Kokua.

Built With

  • claude
  • gemini-api
  • google-cloud
  • google-docuemntai-api
  • supabase
  • vercel
Share this project:

Updates