I am running for attorney general, and the thing I keep coming back to — in living rooms, in union halls, in every forum where somebody asks what I actually care about — is access to justice. Not as a slogan. As arithmetic.
Most people with a real legal problem never see a lawyer. Not because they do not have a claim, and not because no lawyer would take it. They never see a lawyer because an hour of legal help costs more than the problem is worth to them, or more than they have. That is the whole of it. Legal aid is chronically underfunded and always will be; pro bono is essential and will never scale to the size of the gap. If we are serious about opening the courthouse door to people currently standing outside it, there is one lever with enough leverage to matter: the cost of producing legal work has to come down.
That is what this section of the site is for.
The Practice Lab is not written for clients. It is written for other lawyers — solos, small firms, anyone running a practice where the bottleneck is not talent but hours. I am going to publish, in as much detail as I can manage, how this firm actually runs: the systems, the workflows, the tools I have built, the ones I have thrown away, and the mistakes that cost me real money before I understood them. Some of it will be about artificial intelligence. Much of it will be about the far less glamorous business of managing your own attention.
There is no signup, no course, no newsletter, and nothing for sale. I am not asking for donations and there is no subscription. The only thing I ask is this: if something here saves you time, spend some of it on people who could not otherwise afford you. Take the case at a rate that works for a person on a fixed income. Keep a sliding scale. Say yes to the file you would otherwise have to turn down on economics. That is the entire price.
The part of the AI conversation nobody is having
The legal profession has spent three years arguing about whether AI can draft a brief.
It is the wrong argument, and it has been the wrong argument for a while. In my practice the answer is settled by daily use: it drafts, it researches, it reads a four-hundred-page production overnight, it checks a citation against the actual reporter instead of against a memory, and it does all of it under supervision, with a lawyer signing the work. The interesting question is no longer can it produce work. The interesting question is the one that shows up on day thirty:
What happens to you when six of them are running at once?
Because that is the real shape of the thing. You do not use AI the way you use a photocopier — one task, start to finish, then the next. You use it the way a partner uses associates. You hand off a discovery summary. While that is running, you start a motion. While that is running, a client calls and you open something for that. By eleven in the morning there are six conversations in flight, each with its own history, each in a different matter, each waiting on something different from you.
And this is where the promised efficiency quietly starts leaking away.
The mental load nobody warned you about
Six terminal windows on a screen are not six times the output. They are six times the bookkeeping, and the bookkeeping runs on you.
Here is what actually happens when you come back to a window you left forty minutes ago. Before you can do a single useful thing, you have to answer a series of questions, and you have to answer them by reading:
Which matter is this? The window does not say. It says something like ~/Downloads or a folder name you chose at 8:40 that morning. So you scroll up. You find a filename. You recognize the client from the filename. That is four or five seconds and a small, real cognitive effort — and it is not the work.
What did I ask it to do? Also not visible. Scroll further. Read your own prompt back to yourself. Reconstruct the intent you had forty minutes ago, which was obvious then and is not obvious now.
Is it done, or is it waiting on me? This one is the worst, because there is no indicator anywhere. A finished session and an abandoned session look identical. So you read the last few hundred lines to figure out whether the thing is complete, mid-thought, or stopped cold on a question it asked you thirty-five minutes ago that you never saw. That last case is pure waste: thirty-five minutes of nothing, sitting there looking exactly like progress.
Did anything come out of it? Files were written somewhere. Which ones? Under what names? Into which folder? You go look.
And what was I about to do next? Because you had a plan, and the plan lived in your head, and your head has been in three other matters since.
Call it fifteen to sixty seconds of pure reconstruction, every single time you change windows. Do that thirty times a day and you have burned real time — but the clock is not the expensive part. The expensive part is that every one of those switches costs you the thing you were holding. Anyone who has litigated knows the feeling: you are thirty minutes into a summary judgment brief, you have the argument assembled in your head, the pieces are all in the air — and the phone rings. The call takes four minutes. Getting back to where you were takes twenty, and some of what you had is simply gone.
Parallel AI sessions manufacture that interruption on demand. They are, structurally, an interruption generator. Every window you check is a context switch you chose to inflict on yourself, and you check them constantly, because the alternative is not knowing.
Then there is the second-order load, which is worse because you cannot see it either:
- The fear of the buried window. Terminal windows stack. One slides behind another and stops existing. Somewhere in there is a session that finished two hours ago and has been sitting on a completed draft ever since. You do not know it exists. You will find it tomorrow.
- Closing the wrong one. Every window looks like every other window. Close one you meant to keep and the conversation is gone.
- The running tally. You are holding, unaided, a list of what is in flight, in which matter, at which stage, waiting on what. That list lives nowhere but in your head, and it is the first thing to go on a bad day — the day with a hearing in the morning and a client crisis after lunch. Exactly the day you needed it.
- Work that is invisible to everything else. None of this touches Clio. None of it touches the calendar. None of it touches the billing record. You did three hours of real work in six windows and there is no trace of it anywhere your practice can see. I have lost that time. I know precisely how much, because I later built something that counts it.
That is the cost that eats the gains. The drafting got faster. The managing of the drafting got slower, and it got slower in a currency — attention — that you cannot bill and cannot buy more of.
Sessions are bottom-up. A practice is not.
The diagnosis I eventually landed on is structural rather than personal, which is why I think it generalizes past me.
An AI session is bottom-up by nature. You open it and you are inside one conversation. Context gets established from within it. Work emerges outward from it. The only vantage point on that work is the session itself — to know anything about it, you must be in it.
For a single piece of work that is exactly the right shape. For a practice it is exactly the wrong one. Two sessions are a pair of windows. Six are a memory test. Nothing sits above them; nothing knows they exist. Holding the whole picture is your job, permanently, and it is unaided.
A practice does not work that way, and never has. A practice is top-down. You do not discover your caseload by walking into rooms and looking. You have a docket, a calendar, a matter list — a vantage point above the work, from which you direct attention downward. Every functional system a law office has ever used, from the paper docket book forward, exists to give you that view.
AI sessions arrived with no equivalent. So I built one.
The board
It is called MLaw Command. It is a native Mac application that turns every AI session into a card on a kanban board and ties that board to the things a practice already runs on — the matter list, the matter folders, the calendar, and the time record.
The board inverts the relationship. The board is the vantage point, not the session. Everything in flight is visible at once, each card carrying its matter, its stage, and when it last moved. You direct work into sessions instead of discovering it inside them.
Read the screenshot as a docket, because that is what it is. Six things are in progress across five different matters. Two of them are sitting in a Review lane, which is the board telling me — without my having gone to look — that the AI finished and the work now wants a lawyer. Two are notes I typed myself, with no session behind them at all, because a board that only holds AI work is a board that lies about your day.
What that buys, concretely:
Parallelism stops costing attention. I can run six sessions because I am no longer the thing holding them together. The board holds them. Review lanes raise the ones that want me. The question “what is in flight?” is answered by looking, not by remembering.
Context flows downward instead of being rebuilt upward. A session started from a calendar event opens in that matter’s folder, with the deadline already on its card. It does not have to work out where it is. That was decided above it.
Work outlives the session. Resume a conversation and its card follows it. Close a card and it goes to an archive, not to nothing. The session is disposable. The record is not. This is the single biggest change: my work stopped living in windows I was afraid to close.
Triage from above, then descend
Click a card and you do not land in a wall of conversation. You land on a summary: what it said last, which files it edited, how many commands it ran, whether it dispatched sub-agents, which matter it belongs to, and where that matter lives on disk.
Those five questions from earlier — which matter, what did I ask, is it done, what came out, what next — are all answered here without reading anything. That is the whole design, and it is why the panel opens on the summary rather than the transcript. Triage happens from above. You descend into the conversation only when you have decided to.
One detail matters more than it looks. Nothing in that summary is generated. It is counted directly off the record of the session — files actually written, commands actually run. It costs nothing to produce and, more importantly, it cannot claim work that did not happen. A summary that flatters is worse than no summary, because you will act on it.
Delegation is an org chart, not a prompt
The second thing that changed how this firm uses AI was giving up on the idea of one general assistant.
A real office does not have one person who does everything. It has a research and writing attorney, a citation checker, a filing clerk who owns formatting and court rules, a billing person, an intake coordinator, a calendar keeper. Each has a defined job, a defined competence, and — this is the part that matters — defined limits.
So that is how the AI is organized here. Twelve specialists, each with its own written brief describing what it owns and, explicitly, what it must hand off. The writing specialist drafts. The citation specialist verifies every authority against the actual source, in multiple passes, and is instructed never to work from memory. The formatting clerk handles caption, spacing, signature block, and certificates, and is not permitted to change a word of argument. Work moves down the chain in a fixed order, and it moves through the citation gate before it goes anywhere near a court.
That gate exists because checking form is not the same as checking truth, and only one of the two is easy to automate. A citation can name a real case, sit in a real reporter, carry a correct pin cite, and be flawlessly Bluebooked — and still be attached to a proposition the opinion does not stand for. Nothing about the shape of it looks wrong, which is exactly the problem: a formatting pass will bless it every time. The only thing that catches it is going and reading the opinion. So that is the rule here — nothing with a citation in it leaves this office without somebody, or something, having gone and read the opinion, in more than one pass, working from the source rather than from a recollection of the source.
The specialist structure is not organizational tidiness. It is where the checks live. One agent’s whole job is to disbelieve the previous agent’s work, and it cannot be skipped because it is a step in the chain rather than a habit somebody has to remember.
The rules I had to impose on it
Everything downstream of the board — which matter, which folder, which deadline, which time entry — depends on the labels being true. A view from above is worth nothing if it lies. And I arrived at the rules by getting them wrong first, expensively, so I will set them out plainly.
Version one inferred a session’s matter by scanning it for any matter mentioned. It billed a website migration to a litigation file, because that session had once read a document in that client’s folder. It inflated the time on that matter from twenty hours to thirty-two. Reading is not working. Now attribution keys only on where a session actually wrote.
Version two matched client surnames on calendar events. It tied a hearing to the wrong file because the event title carried a judge’s surname that also happened to belong to a client. It had matched the judge. Event titles are full of judges, opposing parties, venues, and neutrals — nearly all of them surnames that are not your client’s.
Both failures share a shape: the system was confident, plausible, and wrong, and in both cases the wrongness was invisible until I went looking. In a law practice that is not a bug, it is a malpractice vector. A confidently wrong attribution puts a real deadline on the wrong file, or bills one client for work done for another.
So the rule now is: an unattributed session is honest; a confidently wrong one is not. Where the system does not know, it says so, and every inference it does make is labeled with where it came from. I would rather look at a blank field than at a guess wearing a fact’s clothing.
The same instinct produced the limits the whole thing operates under, which I would urge on anyone building something similar:
- Nothing posts to the practice management system. Unbilled time is surfaced for review. It is a starting point for a time entry, never an entry. A human reviews and enters every one.
- Nothing runs unattended unless I have explicitly switched it on, and then only while I am sitting there with the application open.
- No transcript is ever altered or deleted. Archiving and renaming touch the board’s own records and nothing else. The underlying record of what was actually said is immutable.
- It holds no credentials of its own and sends nothing anywhere. It listens on the local machine only. No cloud, no sync, no telemetry.
That last set is not modesty about the technology. It is that a law office is a place where the consequences of automated confidence land on somebody who trusted you.
A word on availability, since people ask. MLaw Command is not a product and there is nothing to download. It was built for this firm’s own setup and it assumes that setup — our folder conventions, our practice management system, our matter numbering. Packaging it for anyone else’s is a different job than building it was. I am writing about it because the shape of the problem is general even though my solution is not: if you run more than two AI sessions at a time, you already have this problem, and you can solve it with a whiteboard and a marker if that is what you have. If you are building something similar and want to compare notes, I would like that.
Where the professional obligations sit
None of this changes a lawyer’s duties, and I want to be precise rather than hand-waving about which ones are in play. Three Minnesota rules do most of the work here.
Competence. Rule 1.1 requires “the legal knowledge, skill, thoroughness, and preparation reasonably necessary for the representation.” Comment [8] adds that to maintain the requisite knowledge and skill, “a lawyer should keep abreast of changes in the law and its practice, including the benefits and risks associated with relevant technology.” Benefits and risks — the duty runs in both directions. Refusing to learn the tools is not a safe harbor, and neither is using them without understanding how they fail.
Confidentiality. Rule 1.6(c) requires that “[a] lawyer shall make reasonable efforts to prevent the inadvertent or unauthorized disclosure of, or unauthorized access to, information relating to the representation of a client.” That obligation is why the architecture matters more than the features. Where does the data go? Who else can read it? What is retained, and by whom? If you cannot answer those questions about a tool, you cannot put a client file into it.
Supervision. Rule 5.3 — “Responsibilities Regarding Nonlawyer Assistants” — requires a lawyer with direct supervisory authority to “make reasonable efforts to ensure that the person’s conduct is compatible with the professional obligations of the lawyer,” and makes the lawyer responsible for conduct that would violate the rules if a lawyer did it, where the lawyer ordered or ratified it. Whatever the eventual doctrinal answer about how these rules map onto software, the working posture is not in doubt: the output is your work product, you are answerable for it, and you sign it. An AI draft is a draft. A lawyer files.
Cited rules verified against the Minnesota Rules of Professional Conduct as published by the Revisor of Statutes. This is general commentary on practice management, not legal or ethics advice; every lawyer is responsible for their own compliance in their own jurisdiction.
What this is actually for
I want to be careful not to oversell any of this. A kanban board is not a moral achievement. It did not make me a better lawyer. It made me a lawyer who stops losing track of his own work, which is a smaller claim and a truer one.
But small and true compounds. The gap between what legal services cost and what most people can pay is not going to be closed by one breakthrough. It closes, if it closes at all, the way it opened — in increments, through a thousand quiet inefficiencies in how law is actually practiced. Every hour a lawyer spends reconstructing what she was doing is an hour that shows up in somebody’s bill, or in a case she could not afford to take. Take enough of those hours back and the arithmetic of who can afford a lawyer starts, slowly, to change.
That is the bet, anyway, and it is why I am writing this down instead of keeping it. What is coming in this section: the document intake pipeline that reads scanned mail and files it to the right matter; how the firm’s citation-verification gate works, pass by pass; deadline calculation, and why we never compute one from memory; the billing brain that finds work that never made it onto an invoice; and a fuller accounting of what has not worked.
If any of it is useful to you, you know the price. Somebody who cannot afford a lawyer should get one anyway.
Questions, corrections, or a system of your own that works better — I would genuinely like to hear it. Send a message or call 612-470-6529.