A CRM that tells you why to call
For a law firm, relationships are the pipeline, and the context behind them lived in inboxes and memory. The CRM keeps that context on the contact, then reads it back to you on the morning the follow-up is due.
- Role
- Designer & developer
- Stack
- Next.js, Postgres, Drizzle
- AI
- Daily follow-up briefs
- Status
- Live

The problem
A small IP firm grows through relationships: referral partners, other attorneys, founders met at a lunch. The old CRM held their names but not their context. Who introduced them, what was discussed, what was promised: that lived in inboxes and in one person's memory, so a follow-up arrived as a bare reminder with no reason attached.
Context lives on the contact
- One dated history. The first meeting, calls, meetings, notes and emails sit on the contact as a single timeline, newest first.
- Files that can be read. One-pagers and meeting notes upload to private storage, and text is extracted from PDFs and Word files so the brief can use it.
- Email, forwarded in. Forwarding a thread to the CRM's address files it on the right contact.
- Referrals both ways. Who sent work in, where it went out to, and whether the thank-you happened.
The brief
Every morning a scheduled job finds the follow-ups coming due, writes a brief for each contact's owner from that contact's history, and emails it. The brief has six fixed sections, from who the person is to a suggested opener, and every point cites its source and date. Where the record has nothing to say, the brief says “No context on file” rather than filling the gap.
The opener is a suggestion and is never sent automatically, and the brief sticks to the relationship: it does not speculate about legal matters.
A day that starts on one screen
The Today screen shows overdue and upcoming follow-ups with complete, edit and “+1 week” right on the row, the contacts nobody has touched in ninety days, and the contacts with no next step. Follow-ups repeat on their own cadence, from weekly to yearly, and completing one schedules the next from its due date.
Moving off the old system
An importer brings contacts and tasks across from the firm's previous CRM, with a dry run first so nothing lands until the mapping is right. Recurring task series collapse into one repeating follow-up each, instead of hundreds of copies.
Less, on purpose
Several fields from the original plan were cut before launch: professions, relationship types, groups and events. Each was one more thing a busy team would have to keep accurate, and an empty field is worse than no field. Microsoft sign-in went too, in favour of accounts the admin creates with a temporary password that must be changed at first sign-in.
The team got a guidelines page, a one-page PDF and a sixty-second narrated video, so learning it takes a minute rather than a meeting.
The screens above are illustrations built for this portfolio, with invented contacts. No client, contact or matter information from the firm appears on this site.
More screens


Next case/Lively & ARC IP Law
Six agents with real boundaries
