The Prompt is the Product
Vibes & Verdicts — Issue #2
THE VIBE
The Prompt is the Product
Here’s the thing nobody tells you about vibe coding: the quality of what you build is directly proportional to the quality of your prompts. Not your coding skill. Not your technical knowledge. Your prompts.
I learned this the hard way. Early on, I’d write prompts like: “Build me a document upload feature.” And I’d get something that technically uploaded documents. It would also have no error handling, no file size limits, no virus scanning, no audit logging, and a UI that looked like it was designed by someone who’d never used a computer.
The AI did exactly what I asked. The problem was what I asked.
Now my prompts look completely different. Here’s a real one from last week: “Build a secure document upload flow for a legal document management system. Requirements: presigned S3 upload URLs with 15-minute expiry, file size limit of 100MB, allowed MIME types are PDF, DOCX, XLSX, PNG, and JPG. On upload confirmation, record document metadata in the documents table including SHA256 hash, file size, MIME type, and uploader’s user ID. Write an entry to the audit_log table with action type DOCUMENT_UPLOADED. The upload should be scoped to a specific matter and inherit the matter’s permissions. Show a progress indicator during upload and a success toast on completion. Handle errors gracefully with user-friendly messages.”
Same feature. Completely different result. The difference isn’t that I learned to code — it’s that I learned to think like a product manager.
Here’s what I’ve figured out about writing prompts that produce production-quality code:
Be specific about the outcome, not the implementation. I don’t tell the AI which React hooks to use or how to structure the API call. I tell it what the user should experience and what the system should enforce. “The user drags a file onto the upload zone and sees a progress bar. If the file exceeds 100MB, they see an error before the upload starts.” The AI figures out the how. I own the what and the why.
Name your constraints explicitly. Security requirements. Performance expectations. Accessibility needs. Error states. If you don’t mention it, it won’t exist. AI doesn’t infer security requirements. It doesn’t add audit logging unless you ask. It won’t check permissions unless you tell it to. Every constraint you care about needs to be in the prompt.
Include context about the system. My best prompts start with a few sentences about what Batesly is and what the relevant data model looks like. “Batesly is a multi-tenant legal document management platform. Each document belongs to a matter. Each matter belongs to an organization. Users can only access matters they’re assigned to.” This framing prevents 80% of the bugs I used to get.
Describe the unhappy paths. What happens when the upload fails? When the user’s session expires mid-upload? When two people upload a file with the same name to the same matter? If you only describe the sunny-day scenario, you get sunny-day code. Real software lives in the edge cases.
Send one prompt at a time. I learned this through pain. When I’d send Replit Agent a massive prompt with ten features, it would get confused, create circular dependencies, and break things that were already working. One feature per prompt. Confirm it works. Sync to GitHub. Then the next one. Sequential beats batch every single time.
The meta-lesson here is that prompting is a skill, and like any skill, you get better with reps. My prompts from three months ago are embarrassing compared to what I write now. Not because I took a course. Because I shipped a hundred features and noticed what worked.
If you’re vibe coding and your results feel mediocre, it’s probably not the AI. It’s the prompt. And that’s actually good news — because it means the fix is within your control.
THE VERDICT
Quick Takes
Replit Agent vs. Claude Code: different jobs. I use Replit Agent to build features and Claude Code to review them. Trying to use one for both is like using a hammer to paint. People keep asking me which is “better.” They’re not comparable. One creates. The other critiques. You need both. Having said that, in the past week, I’ve started having Claude (chat) write the prompts for Claude Code, then push to GitHub… cutting the Replit Agent out of the equation entirely. I’ll report back next week.
The “prompt engineering” job title is already dead and I think that’s fine. It was never a job — it’s a competency. Like “googling things effectively” was a competency in 2008. The people who prompt well will just be better at their actual jobs. The people who made it their whole identity are going to have a rough year.
Law firms that ban AI are going to lose associates. I’m hearing from more and more young lawyers who are quietly using AI for research, drafting, and review — and lying about it because their firms have blanket prohibitions. The firms that figure out responsible AI policies first will win the talent war. The ones that stick their heads in the sand will wonder why everyone under 35 left.
THE CONFESSIONAL
I Used a Fake Statistic in a Pitch Deck
Not on purpose. But still.
A few weeks ago I was building a sales deck and I asked Claude to help me find statistics about legal tech spending. It gave me a beautifully formatted stat: “67% of mid-size firms report dissatisfaction with their current DMS.” Sounded great. Felt right. I put it in the deck.
Then, right before a demo, something nagged at me. I went to verify the source. Couldn’t find it. Because it didn’t exist. Claude had hallucinated a statistic and I’d almost presented it to a 50-attorney law firm as fact.
Now I verify every single data point before it goes into anything external. Lesson learned the uncomfortable way. AI is a fantastic collaborator and a terrible fact-checker. Don’t outsource your credibility.
Thanks for reading.
I’m Rachel — a practicing attorney building legal tech through vibe coding. Every week I share what I’m learning, what’s working, and what I probably shouldn’t admit publicly.
Next week: “Your Favorite Legal Tech Company Hates You” — Per-seat pricing, vendor lock-in, and why the legal tech industry is overdue for a reckoning.
Know someone building without a CS degree? Forward this. They’ll thank you… maybe?


