I live in Douglas, Alaska. Over 18 years I have built web products and led teams of four to eight engineers, most recently mixing hands-on React and TypeScript with engineering management.
02Case studyAI that drafts discovery, for the attorneys who have to sign it
Company
Briefpoint (legal tech)
Role
Engineering manager + lead frontend developer
Dates
May 2025 – August 2026
Stack
React, TypeScript, TipTap, Claude Code
The problem
Every lawsuit runs on discovery. One side drafts interrogatories, requests for production, and requests for admission (lawyers call this propounding). The other side has to answer them, digging the facts out of its own case files. Both jobs are slow and repetitive, and mistakes hurt the case. Briefpoint used AI to write the first draft on both sides: requests generated from the complaint, and answers generated from the client's documents. The frontend's job was making those drafts something an attorney would trust enough to check, edit, and sign.
My role
I was engineering manager and lead frontend developer, running a team of four frontend and test engineers. I planned the AI features with designers, product, AI researchers, and attorneys, then designed and built the interfaces around them.
What I built
Interrogatory Answers and Find Documents. Attorneys upload their case files, and the AI drafts an answer to each interrogatory and pulls the responsive documents for each request for production, with Bates citations. We designed both on the assumption that the AI is sometimes wrong, so every answer links back to its source and the attorney decides what goes in.
A request library in reach. When drafting requests, past requests live in a searchable side drawer, one click from the set.
Defined terms as objects. Terms like YOU and PLAINTIFF appear as inline pills that show and edit their definitions.
A rebuilt response editor. I redesigned and shipped the TipTap editor attorneys use to answer discovery. Objections and responses from the firm's library insert in a click, common actions come first, and less common options sit behind a single menu. Switching variants clears the old text and offers one-click restore.
Discovery Playbooks. A firm's past objections and responses sit in a searchable panel beside the editor. Matching precedents surface while drafting, and one click inserts an objection or response into the right editor, so the whole firm answers the same way.
“We designed both on the assumption that the AI is sometimes wrong.”
How the team worked
I moved the team, and then the company, to AI-first development: engineers assigned tickets to Claude Code, ran parallel work in git worktrees, and shared skills that encoded our conventions. Read more: AI-first development
Outcome
After the move to AI-first development, we shipped in a week what used to take months. The bigger change was what the team did with the extra room. Small quality-of-life details that once got cut to hit a deadline started showing up in every feature, and developers added them on their own initiative. I encouraged it, leadership praised it, and it became how the team worked: people who cared about the craft and about the attorneys using it.
03Side projectsThings I build for myself
Thalamos
A budgeting app my wife and I use in place of a spreadsheet. Bank and card CSVs go in, each transaction gets a type, category, source and payer, and a side sheet totals the month against our budget. I built it AI-first with Claude Code, on the same house rules as this site.
TanStack Start
React Query
TanStack Table
Drizzle
Postgres
Better Auth
Playwright
first commit to working app
4 days
AI-first, ticket by ticket
Claude Code
my wife and me
2 users
Rhyme·i·ness
A mobile app for writing songs with a little help from AI. Pick a vibe and a genre, start writing or ask for lines, arrange the song with drag controls, then switch on Performance Mode.
04Contact
Hiring for a frontend lead or engineering manager? Tell me about the team and I'll reply within a day or two.