I recently had the pleasure of joining Oliver Roberts and Dean Stefanie Lindquist at Washington University in St. Louis for a webinar on a topic that has been occupying my mind lately: Vibe Coding.
For the uninitiated, “vibe coding” is a term coined by Andrej Karpathy (OpenAI co-founder). It describes a massive shift in technology where non-technical users—like us lawyers—can build software simply by describing what we want. We give in to the “vibes” (the intent), and we let AI agents handle the syntax and logic.
I like to think of the evolution of LLMs the following way:
Phase 1: Chat (Input/Output). We started with standard chatbots. You ask a question, you get text back.
Phase 2: Tool Use. We moved to RAG, web search, and data analysis.
Phase 3: Agents. We have now arrived at agents that can perform tasks autonomously.
The breakout stars of this third phase are Coding Agents—beasts that can build bespoke software for you within minutes. In the webinar (recording above), I demonstrated exactly what this looks like in practice.
Why “Vibe Code” Instead of Just Chatting?
Most lawyers use AI by asking a chatbot a question. The problem is hallucination. Text output is probabilistic; the AI is guessing the next best word.
Vibe coding is different. By asking the AI to build a tool rather than answer a question, the result becomes deterministic, significantly reducing the error rate.
The Live Demo: Solving the “Track Changes” Problem
(Demo starts at 11:33)
To show exactly how this works, I walked the audience through a live build. I used a simple 4-step framework that I recommend to any lawyer or law student just starting out.
Step 1: Identify a Specific Pain Point
Don’t try to “fix law.” Fix one annoying thing you did this morning.
For example:
My Problem: I want to quickly see/analyse/summarise the changes in a Word document but when I upload a Word doc with Track Changes into ChatGPT, it often “flattens” the file—reading only the final text and ignoring the redlines. This is a nightmare for lawyers who need to see the evolution of a clause.
My Goal: I wanted a simple tool where I could upload a doc and get a summary of only the additions and deletions.
Step 2: Write the “Spec” (The Plan)
Before you ask the AI to code, you need a plan. Don’t just say “Make an app.” Describe the user experience to an AI:
My Prompt: “I want a web app where a user uploads a .docx file. The app should extract the track changes and visualize them in a split-screen view: the full document on the left, and a summary of changes on the right.”
and let the AI generate the product specifications for you.
Step 3: Choose Your Platform
You don’t need expensive software to start.
Google AI Studio: I recommend this for beginners. It’s free to use and even provides a free Gemini API key (to test out AI-features you vibe-code into your apps).
Replit / Lovable: Great for when you are ready to make something more permanent, as they handle maintenance and deployment as well.
Step 4: The Iteration (The “Vibe” Part)
This is where you embrace the vibes. The first draft might look ugly, but the key is to keep prompting, keep sharing screenshots of the bugs, and keep nudging the AI to fix its mistakes.
The Fix: You don’t look at the code. You look at the app.
The Prompt: “Move the button to the right and make the text bigger.” or “It’s erroring when I upload a PDF. Fix it.”
What Else Can You Build?
Using this exact method, I’ve built several tools that mimic enterprise software for close to $0 cost, including:
Lightweight “Harvey/Legora-like” Tabular Review: I can upload 10 side letters, and the app extracted specific data (Signatories, Commitment Amounts, MFN clauses) into a clean Excel-style grid. Works for any documents.
Signature Pack Extractor: A tool that extracts and compiles signature pages from different compiles and sorts them by counterparty.
Text-to-Chart AI: An app that converts word descriptions into visual ownership charts.
You can try out the apps here.
The Elephant in the Room: Security & Deployment
With great power comes great responsibility. During the Q&A, we tackled the hard questions regarding deployment and ethics:
Client Data: The golden rule remains—do not put client data into public vibe coding tools. I build my prototypes using synthetic data (which I also use AI to generate).
The Deployment Gap: Right now, there is no “one-click” safe way to deploy these home-brewed apps into a firm’s secure enterprise environment. This is the next hurdle for IT teams and vendors to solve: creating safe sandboxes for lawyer-led innovation.
Liability: If you build a tool and use it for client work, you own the output. Vibe coding does not absolve us of our professional duties; it heightens the need for verification.
What’s Next?
The definition of “technical competence” for lawyers is changing. It’s no longer just about knowing how to use Word; it’s about knowing how to orchestrate agents to do the work for you.
I’ll be writing more about this shift here on Substack. Thanks again to Oliver, Dean Lindquist, and WashU for the invitation.
Subscribe to follow my deep dives into AI, legal tech, and the future of law.

