Case Study · Founder

Auria.

Career infrastructure for caregivers.

I work as a caregiver on the Seattle Eastside. The best CNAs I know carry entire client relationships — families ask for them by name — and still get treated as interchangeable. Auria makes the caregiver the customer: a verified record they own, a ladder they can see, and matching that explains itself.

In Validation Next.js 15 React 19 TypeScript Tailwind CSS 4 Prisma Vercel
Pilot demo — Auria is not arranging care yet.
Verified Career Record
TIER 4
Maya R. — seeded demo caregiver
Verified hours6,240
Dementia hours2,100
Attendance99.1%
Rating4.9 · 24 reviews
Computed from the visit log
72–75%
Split on Originated Clients
100-pt
Transparent Matching
~11k
LOC, Built With Claude Agents

The Problem

Home care runs on caregivers whose track records live in someone else's filing cabinet. Years of verified work and specialty hours don't transfer, don't compound, and don't price the next hour of their labor. Auria is the alternative I'm validating: an event-sourced career record the caregiver owns, a published wage ladder, and matching that explains itself. It's a demo — it arranges no care yet, and every page says so.

Event Sourcing

A Record That Computes Itself

Every visit is an event in an append-only log — the VisitEvent table is the single source of truth. Verified hours, specialty hours, attendance, and tenure are computed on every read; no stored totals column exists anywhere. Even a missed shift is an event: scheduled, zero minutes, tagged missed.

Transparent Matching

Matching That Shows Its Work

Rule-based, no ML. Hard filters emit plain-English exclusion reasons, then a 100-point weighted score whose per-component sentences render verbatim in the family's why-card. Families see at most five curated matches — there is no browse-all feed of caregivers to scroll through like inventory.

Guardrails

Discrimination Has No Code Path

Three layers deep: the schema has no protected-class columns, zod enums reject anything outside the canonical option lists, and scoring can only read stored fields. A preference that shouldn't exist can't be stored, can't be typed, and can't be scored.

How It Works

Step 1
Every Visit Becomes an Event
Each shift lands in the VisitEvent log with duration, specialty tags, and whether it was scheduled. Missed shifts are logged too — scheduled, zero minutes, tagged missed — so attendance is derived from what happened, not what someone remembered.
Step 2
The Record Computes Itself
Verified hours, specialty buckets, attendance, tenure, and rating are all derived from the log on every read. There are no stored totals to drift out of sync, and nothing to hand-edit. The log is the resume.
Step 3
The Ladder Sets the Target
Five tiers gate target wage bands from $30–32 to $40–42 an hour on verified hours plus quality gates — attendance, rating, specialty hours. Every band is labeled target economics, because nobody has been paid through Auria yet. On clients a caregiver originates, they keep 72–75% of what's collected — published, not negotiated in the dark.
Step 4
Matching Stays Explainable
Hard filters run first and say why in plain English — delegated meds require a verified credential, and pending doesn't count. Then a 100-point weighted score across schedule, care needs, distance, language, communication style, temperament, and pay overlap. Each component's sentence appears verbatim in the family's why-card. Max five results.
Step 5
Complaints Have Deadlines
The complaint portal models Washington's state-regulation timelines as a stage machine: acknowledgment due in 2 business days, investigation in 14 calendar days, outcome in 21. Compliance rendered as a product feature instead of a PDF in a drawer.

What It's Built With

Frontend
Next.js 15 (App Router) React 19 TypeScript 5 Tailwind CSS 4 Server Components
Data Layer
Prisma 6 + SQLite zod 4 Validation Event-Sourced VisitEvent Log Aggregates Computed on Read
Product Systems
100-Point Match Scoring Plain-English Why-Cards 5-Tier Ladder (Target Economics) Complaint Deadline Stage Machine 3-Layer Anti-Discrimination Guardrail
Craft & Proof
Lamplight Design System Fraunces + Inter Deterministic Seed Seed Asserts Demo Numbers ~11k LOC With Claude Agents

See the Demo

Every page of the demo carries the same banner: “Pilot demo — Auria is not arranging care yet.” The validation gate is published on the site too — at least 4 of 5 CNAs would join and at least 2 families commit to paid trials, or the project folds.

Try Demo GitHub ← All Projects