Hona
An AI case assistant for personal injury firms that follows up with clients, tracks treatment appointments, and flags the cases quietly slipping through the cracks — so a case manager's 120 open files don't depend on their memory.

The problem
A case manager can hold maybe 40 files in their head. Firms were running 120 per person.
A personal injury firm's case managers were each juggling well over a hundred active clients, and every one of those cases depended on the same handful of manual touches: confirming the next provider appointment, checking in after a visit, noticing when a client stopped showing up to treatment. When it worked, it was because a case manager remembered to do it between calls. When it didn't, a treatment gap went unnoticed until it showed up as a hole in the medical record at mediation — after it was too late to fix.
The firm didn't need another task list. They needed the client check-ins to happen for every case, every time, without depending on any one person's memory on a busy day.
What I built
A system that never forgets to follow up.
Hona handles the recurring outreach a case manager would otherwise do by hand — appointment reminders, post-visit check-ins, gentle nudges when a client goes quiet — over text, and logs what comes back straight into the case record. I built the system end to end: the conversational outreach engine, the case-timeline and gap-detection logic, the escalation rules, and the case manager dashboard.
Every client conversation runs through the same assistant, but a case manager can step into any thread at any point — Docket hands off cleanly rather than working around a human who's already engaged. When a client's response signals something that needs judgment (a described symptom worsening, a missed appointment with no reschedule), it's flagged to a person immediately instead of sitting in a queue.
- Automated appointment reminders and post-visit check-ins over text
- Treatment-gap detection (missed appointments, lapses against expected care)
- Configurable escalation rules by case type and severity
- Case manager dashboard with a live view of every open file's status
- Full conversation and event log attached to each case record
By the numbers
- 130+
- Active cases handled per case manager, up from ~60
- 91%
- Routine check-ins completed with no human touch
- 11 days
- Earlier median detection of treatment gaps
- 70%
- Fewer client-initiated status calls
Illustrative figures.
System design
Escalate on judgment, automate on routine.
The core design decision was drawing a hard line between what the system should do on its own and what it should hand to a person. Scheduling confirmations, reminders, and routine check-ins ran fully automated. Anything touching medical detail, a client's emotional state, or a pattern suggesting a case was at risk got routed to a case manager, with the triggering message attached, rather than handled by a canned response.
The case-timeline engine treated "expected care" as a structure to check against, not just a log: each case type had an expected cadence of visits, and a gap against that cadence — not just a missed single appointment — was what triggered a flag, so the system caught slow drift away from treatment, not only an obvious no-show.
The client should never be able to tell whether they're texting a person or not. The case manager should always know exactly which one it was.
Reliability and rollout
Built for conversations that can't just fail silently.
Because a missed message to an injured client is a worse failure than a slow one, outreach delivery was tracked end to end — every text had a confirmed-sent and confirmed-delivered state, and a failed send re-queued and alerted a case manager rather than disappearing. Every automated message and every human handoff was logged against the specific case and timestamp, so the full communication history held up as a record months later if a case went to mediation or trial.
Rolling out from manual, memory-dependent follow-up to Docket changed the shape of a case manager's day: the routine check-ins stopped depending on how busy the week was, and the moments that actually needed a person's judgment were the ones landing in front of them — not buried in a list of 120 files to get through.
Built with
- Full-Stack Web Development
- React
- TypeScript
- Node.js
- Backend Development
- AI/LLM Development
- PostgreSQL
- Database Engineering
- CRM & Legal Case-Management API Integration
- Real-Time Messaging & SMS/Email Integration
- Workflow Automation