All work
Legal Tech

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.

Role
Full-stack development, conversational outreach engine, case-timeline pipeline
Timeline
Selected work
Stack
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
Hona personal-injury case management platform

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