Myles Parslow Legal technology

Portfolio · Legal and law-firm work

Software and AI workflows for how law firms actually work.

Full-function firm software, conflicts and intake, litigation, transactions, billing and firm strategy. Each project below is a working tool with a demo you can open, and each is built on the same rule: the software reads, checks and drafts, and a lawyer decides.

Featured projectConflionFull-function firm software that runs every area of a law firm, built on a conflicts check: 279,259 lines of code and 3,554 passing tests.
279,259lines of code in Conflion
15legal tools and workflows
3,554passing automated tests in Conflion
357 of 358quotations verified word for word in a blind test on 26 federal cases

Featured project · Full-function law firm software

Conflion

Full-function software for running a law firm, built on a conflicts check and new-matter intake. The conflicts engine finds the matches a letter-for-letter billing-system search misses, and the same system then runs matters, docketing, documents, time and billing, people and CLE, client relationships, risk and the general counsel's office, and the office itself, with one firm inbox and an AI layer that suggests while a lawyer decides.

12 areas of the firm in one system 279,259 lines of TypeScript 3,554 passing tests in 237 files 360 click-through checks in a real browser 3,000,000 synthetic parties benchmarked

Every area of the firm, on the same records

Each area works on the same clients, matters and people, under one set of permissions applied on the server. Everyone starts the day in one firm inbox that lists every decision waiting on them, with a short morning brief for their role. The firm keeps its systems of record, and Conflion connects them.

Matters, docketing and documents

  • A matter workspace with stages, tasks and a record timeline.
  • Court deadlines counted from the rules for California, New York, Texas, Florida, Illinois, Nevada and federal appeals, each step citing its rule, with two-way Outlook or Google calendar sync.
  • Court notices read into the docket for a clerk to confirm.
  • Document check-out and check-in, profiles, email filed from Outlook, and saved searches.

Time, billing and the firm's books

  • Time entry with suggested task codes, pre-bills, bill review, invoices and LEDES exports.
  • Collections, client statements and a pricing desk with budget tracking.
  • Approved journal entries posted to QuickBooks Online, Xero or Sage Intacct, which stay the books of record.
  • Vendor bills, a bank feed, payroll imports, a cash forecast and partner draws.

People and client relationships

  • One record per person, bar admissions and CLE reminders, time away, reviews, associate development and recruiting.
  • Joiners and leavers in one checklist, and a book test drive for lateral hires before any offer.
  • Contacts, key clients with account plans, feedback at matter close, events, mailing lists with consent, panels and RFPs, and referral sources.
  • A client portal where clients see their own matters and shared files.

Risk, the GC's office and the office

  • Claims and incidents, insurance renewals, ownership due diligence, a risk register and a promise ledger.
  • Legal holds with acknowledgements and reminders, and a file destruction review that a hold always stops.
  • An IT help desk, devices and software, rooms, visitors, post and off-site boxes tied to their matters.
  • A clause bank, precedents, closing sets and signature packets (it never signs), privilege logs and a staffing board.

Ask Newton

One question box for the firm. Answers are built from the records the asker may see, each sentence links to its record, a walled matter is simply not found, and it never answers "can we act for them": only a conflicts check can.

AI tools that watch the work

Matter pulse flags open matters that need a look, the obligation calendar reads what each side agreed to after closing, and an early case read gives a first look at a new dispute. A client risk radar, bench notes and rule change watch read public sources once an administrator turns them on. Each shows its sources, and a person decides.

The conflicts engine underneath

The problem

Before a firm takes a matter it must check every party against everyone it has represented or opposed. Mid-size firms often search their billing system letter for letter, which misses parent companies, former names, nicknames and misspellings, and intake is a form that is not connected to the search.

How the matching works

  • Names are normalized, so "A.B.C. Holdings" finds "ABC Holdings".
  • Three scorers combine: a phonetic key (Smith and Smyth), Jaro-Winkler for typos and trigram overlap for spacing, with rare words weighted more.
  • People match on surname, then first name with nickname pairs (Kate and Katherine), aliases and former names.
  • Strong matches expand through corporate families and personal links such as officers and spouses.

Built around the rules

  • Risk follows the relationship. Adverse to a current client on an open matter is high risk; a closed matter is medium.
  • Rules are built in. Former clients point to Rule 1.9, prospective clients to 1.18, lawyer relationships to California Rule 1.7(b) and (c), and lateral hires get the 1.10 to 1.12 analysis.
  • Confidential matters stay confidential. A search reports that a confidential match exists and nothing more.
  • Least privilege. Walls are enforced in what the server sends each user, and blocked attempts are logged.
  • An audit trail that proves itself. Append-only and hash-chained, with a "Chain intact" check.

A model that stays on the firm's hardware

The AI runs through Ollama or any OpenAI-compatible local server, so client names never leave the building. It pre-sorts hits with a short reason, finds parties in a matter description or pasted email (any name not in the text is discarded), and drafts a conflicts memo from recorded decisions only. Every AI-filled field is marked until a person confirms it, and restricted or walled data never reaches the model.

Built for scale and for IT review

Name search at 250,000 parties went from 535 ms to 5.3 ms, and submitting an intake from 8.0 s to 20 ms, measured by a benchmark script on synthetic firms. It runs as a browser-only demo or as a firm server with its own database, single sign-on and email, with role-based walkthroughs, a striped test environment and a support bundle that replaces names with placeholders.

Training and onboarding

Animated tours narrated by Newton, the app's optional help guide, that could serve as onboarding for new conflicts staff and requesting attorneys. Each can be played straight through or opened by section, in light or dark mode.

Built with Claude Code (Anthropic), from my brief on how conflicts departments and the rest of a firm actually run and which rules apply. Runs on a model on the firm's own hardware (default Qwen 2.5 14B Instruct through Ollama), plus a separate local statistical model for hit ranking. Status: a working prototype on fictional data.

Design principles

Four rules every tool follows

Lawyers decide

AI suggestions are marked as suggestions until a person confirms them. No tool clears a conflict, files a brief or posts time on its own.

Code checks the model

Quotations are matched word for word against the source, and deadlines, totals and redlines are computed in code, not by the model.

Client data stays protected

Local models on the firm's own hardware where data is sensitive, an approval screen before anything is sent, and ethical walls enforced in the data.

Everything is traceable

Every finding links to the sentence it rests on, and every decision is written to an audit trail.

All work

Tools for each part of the firm

Most demos open on a saved run of an invented matter, so they work without an account. Live analysis runs inside the user's own Claude account.

Conflicts and intake

Conflicts

Party Finder

Reads the complaint, deal documents or engagement request and builds the complete list of names to search, each tied to the sentence it came from. The list feeds the firm's conflicts system, which stays the system of record.

  • Finds what an intake form misses: former names, parents, affiliates, insurers, counsel and officers.
  • Explains who is really adverse and why each name matters.
  • A name with no verified quote does not make the list, and an analyst decides every matter.

On a litigation matter it found 28 parties against 3 on the intake form, and on an M&A deal 33 against 3. All 61 supporting quotes were found word for word.

Built with Claude Code. Runs on Claude, with source quotes verified in the page.

The requesting attorney listed 3 names; Party Finder found 28.
The export: one row per search name, ready to load into the conflicts system.

Trademark watch · companion to Conflion

VigilMark

A trademark watch and triage desk. It ranks new filings that look like a client's mark, checks whether the applicant is related to a firm client, and hands the hit to Conflion as an intake before the 30-day opposition window closes.

  • Triage feed ranked by similarity score and days left in the opposition window.
  • Conflict check first: the applicant and its parent are checked against firm clients before anything is recommended.
  • Explainable scoring for sight, sound and goods and services, each with a written rationale.
  • A versioned intake schema and signed webhook connect it to Conflion without sharing a database.

Built with Google Gemini. Runs on plain, explainable rules with no AI model. Screenshots only.

Each filing is scored against the client's mark and carries a conflict check on the applicant.
The clearance lab. A parent-company match raises a conflict hit before anyone opposes a client.

Litigation

Early case assessment

Win your case ASAP

A litigator's first read of a new complaint, done in minutes. It ranks every theory that could end the case by how early it can be filed, puts each on the response clock, and quotes the complaint for every point.

  • Each theory comes with its motion, filing date, authority, what the client must supply and the other side's best answer.
  • A response clock built from the forum's own rules, such as the 60-day anti-SLAPP window, exportable to Outlook.
  • Each theory lists the facts a lawyer must confirm before relying on it.

Run blind on 26 California federal cases decided after the model's training cutoff, the ground that actually won was in its top three in 14 cases, and 357 of 358 quotations were found word for word in the complaint.

Built with Claude Code. Runs on Claude in the user's own account, with a choice of model. Deadlines and quote checks are plain code.

The bottom line, days until the first response, and each theory pinned to the first date it can be filed.
A public case scored against the real outcome. The complaint never mentions arbitration; the tool ranked compelling it first.

Deposition preparation

Testimony Check

Reads the documents in a case and a witness's sworn statements, finds every place the story conflicts with the record, and writes a deposition outline that walks the witness to the admission.

  • Ranks contradictions as case-ending, major or useful, and flags statements made under oath.
  • Shows both sides with exact quotes, each checked word for word by code.
  • Predicts the explanation the witness will offer and how to close it, as commit, confront and close questions.

On a 13-document case file it found 9 contradictions in about four minutes, 3 of them case-ending, with all 32 quotes verified.

Built with Claude Code. Runs on Claude in the user's own account. Quote checks are plain code.

A decision-maker swore he learned of a complaint after the firing; his own message from the day before shows he knew.
The sworn line beside the record, and the question sequence that closes the issue.

Brief checking

Citation Gate

A first-pass screen before the citator check. Every case cited is looked up in a database of real opinions, every quotation is matched against the court's text, and the opinion is read to judge whether it supports the point.

  • An index of about 256,000 California and federal opinions built from CourtListener's public data.
  • Existence and quotation checks are plain code; the model only judges support, and anything uncertain goes to a lawyer.
  • Ends in a sign-off table stating that every authority was also checked on KeyCite or Shepard's.

On a seven-case test brief with planted problems, it caught all four: two made-up or mismatched cases, one misquotation and one unsupported proposition.

Built with Claude Code. Runs on Claude, with case lookup and quotation matching in plain code against a local opinion index. Screenshots only.

The citation table for a seven-case brief.
The brief's quotation against the court's words, with each difference marked.

Transactions and practice groups

Practice workflows

Matter Desk

One desk for the first read of a new matter in five practice areas: M&A diligence, an insurance tender, a PAGA notice, a lease abstract and a health care business associate agreement. It says what a rushed review would miss, dates every deadline and drafts the first letter.

  • Each workflow is driven by a written practice checklist.
  • Critical dates show the clause and the arithmetic behind each one.
  • Produces the working document for the practice: a consents tracker, coverage chart, PAGA issue table, lease abstract or clause-by-clause BAA comparison.

Across the five demo matters, all 66 quotes were found in the source documents. In the deal workflow it catches a change-of-control consent the seller's schedules list as not needed.

Built with Claude. Runs on Claude in the user's own account, with source quotes verified in the page.

Deal diligence on a stock purchase: the bottom line first, then what a rushed review would miss.
Lease critical dates, each with the section, the arithmetic and the quote it rests on.

M&A workbench

Synthesis

A workbench for the buy side of one deal. It checks the disclosure schedules against the reps and the contracts, explains every change in the seller's markup with a proposed middle position, and builds the closing checklist from the agreement.

  • The redline, cross-references, defined terms and date arithmetic are computed in code, not by the model.
  • Every quote is checked against the deal documents.
  • A deal room view gives the deal partner the decisions and dates in one place.

On the demo deal it finds 7 reps the schedules do not match, 7 major issues in the markup and 11 of 20 closing items at risk, and the code finds 4 drafting errors.

Built with Claude. Runs on Claude in the user's own account.

The deal room for a $46.5 million stock purchase.
Code computes the redline; Claude explains each change and proposes language in between.

Native Mac app · Legal assistant

Skippy

A legal assistant that keeps each matter's documents together and answers questions with citations to the page and paragraph. It runs review tables, redlines drafts, checks citations and counts deadlines, and nothing reaches the cloud until the lawyer approves it.

  • Reads PDFs (with OCR), Word, Excel, PowerPoint and email on the Mac.
  • Every quote is located in its own copy of the document and marked verified or not.
  • An approval sheet shows which documents go where, to which model and at what cost; an optional shield masks names first.
  • Public research through CourtListener, the Federal Register, eCFR and SEC EDGAR.

Built with Claude Code, as a native SwiftUI app. Runs on Claude through the API with citations, after the approval sheet. Search, deadlines, redlines and quote checks work offline in plain code.

A cited answer; each citation opens the clause it rests on.
Nothing is sent without this sheet, and both sides go in a hash-chained audit log.

Billing and time

Billing compliance

Guideline Guard

Enforces each client's outside counsel guidelines on the prebill, before the invoice leaves the firm. It reads the guidelines, audits each entry, quotes the rule it applies and proposes the fix.

  • Builds a rulebook from the guidelines, each rule tied to the exact sentence it comes from.
  • Marks each entry payable, rewrite, reduce, not payable or confirm.
  • Proposes compliant narratives and writes a note to the billing partner, with a CSV export.

On a 32-entry prebill it found $19.3k of $26k in fees at risk as submitted, and $7.8k of that recoverable by rewriting entries or attaching approvals.

Built with Claude Code. Runs on Claude in the user's own account, with rule quotes verified in the page.

The audit, with the amount at risk and why.
Each finding quotes the guideline and proposes a rewritten narrative.

Time capture

Hour Catch

Reads a lawyer's day across Outlook, Teams, document history and the phone log, drafts the time entries that would otherwise be missed, and runs each through Guideline Guard before it reaches billing.

  • Drafts entries in 0.1-hour increments with narratives written to the client's rules.
  • Nothing is saved to billing until the lawyer approves each entry.
  • No entry bills more than its logged minutes, and every activity is counted once.

On one demo day it found 7.3 hours against the 4.1 a lawyer reconstructed from memory, across 15 draft entries.

Built with Claude Code. Runs on Claude in the user's own account.

The day, with drafted entries waiting for approval.
Remembered against found, matter by matter.

Firm strategy and knowledge

Native Mac app · AI strategy

Praxis

A strategy studio for the people deciding where a firm should use AI. It maps every idea by where the demand came from and how much it changes the work, scores it with honest ranges, and carries the winners through pilots.

  • A briefing that opens with a sentence a managing partner can repeat, with every number counted from the records.
  • Seven-criterion scoring with confidence ranges; a missing score is never treated as favorable.
  • The same portfolio ranked under different strategies, with the assumptions stated.
  • A pilot board, stakeholder map and strategy briefs that export to PDF.

Built with Claude Code, as a native SwiftUI app. Runs on plain rules by default, with optional help from a local model or Claude that shows the exact text before anything is sent.

The overview reads like a briefing memo.
The same portfolio ranked three ways, showing what changes when strategy changes.

Native Mac app · Legal intelligence

LexAtlas

A relationship graph for conflicts, diligence and investigations. It shows how companies, funds, people, matters and sources connect, ties every connection to evidence, and enforces ethical walls in the data itself.

  • A path finder that answers "how are these two connected" within the records the user is cleared to see.
  • Evidence on every connection, with disputed, stale or inferred links drawn differently.
  • The graph as of any date, and entity merges that a person decides.

Built with Claude Code, from my specification package. Runs on plain code by default, with an optional local or Claude assistant whose queries are checked against the user's access.

A vendor feed and the registry disagree, so the link is drawn as disputed and the inspector says why.
Paths are searched only within records the user may see.

Knowledge management

Case Wins Debrief

Turns a firm's case wins into reusable know-how. It times each win, groups the lessons into patterns, and pairs each pattern with a working tool the next team can run.

  • Asks the trial team a question for every win, rather than passing judgment.
  • Four tools with saved runs: an early-issue test, a notice-clause monitor, a fee-motion builder and a win-to-client-alert writer.
  • Arithmetic, such as the fee lodestar, stays in code.

Built with Claude. Runs on Claude in the user's own account. The demo firm and its wins are fictional.

How long each win took, from the first dated event to the result.
One of the four tools: issues that could end a case early, and the earliest motion for each.

Firm marketing

Marketing Studio

Drafts attorney bios, client alerts, RFP responses and award submissions in the firm's voice, then a second pass checks each draft against the source and California's attorney advertising rules before anyone publishes it.

  • Only facts from the source; anything missing becomes a marked placeholder, never an invented client or result.
  • No superlatives, and clients named only with recorded consent.
  • Every draft goes to the responsible attorney for approval.

Built with Claude. Runs on Claude in the user's own account: one pass drafts, a second reviews.

Four example runs open first: a bio, a client alert, an RFP response and an award submission. Across the four, the review pass raised 18 items: 3 to fix before publishing, 8 for the attorney to verify and 7 passed checks.

How I work

From how the work is done to a tested tool

Start with the work

Each tool starts from a written account of how the task is really done in a firm, who touches it and which rules apply, before any screen is built.

Test against reality

Tools are scored against real outcomes where they exist, such as public court rulings, and every claim on this page comes from a recorded run.

Ship the whole package

Tests, walkthroughs, an IT features list and plain-language documentation ship with the software, so it can be reviewed, piloted and supported.

I use several AI tools and pick the one that fits each job: Claude and Claude Code (Anthropic) for most of this work, Google Gemini for VigilMark, and open models such as Qwen running on local hardware where client data must stay inside the firm. Each project names the tools it used.

AI Gameplan for a mid-sized California firm

My perspective on firm-wide AI: observations, ideas worth exploring across policy, training, confidentiality, vendors and practice-specific tools, and the open questions I would want answered first.

Read my perspective