I built ContractAI — an AI contract reviewer for freelancers — in a single weekend. I had zero software engineering background. I'm a former paralegal who was sick of watching freelancers sign terrible contracts because they couldn't afford a lawyer.
Today it does $3,590 MRR with 342 subscribers and I spend about 4 hours a week on it. Here's exactly how I did it — and how you can replicate the same process for your industry.
The biggest mistake first-time builders make is trying to build for everyone. The narrower your niche, the less competition, the higher your conversion rate, and the easier it is to find customers.
Step 1 — Pick a painful, specific problem
Don't start with the technology. Start with pain. The best vertical SaaS products solve a problem so specific that the person experiencing it thinks "how does this tool know exactly what I need?"
Here's how to find your niche in under an hour:
Browse Reddit for complaints
Search Reddit for "[your industry] software" or "[your industry] tool" and read the complaints. What are people frustrated with? What's too expensive? What doesn't exist?
Check what people are paying for already
If someone is paying $200/month for a bloated tool that does 10 things, but they only use 1 feature — that's your opportunity. Build just that one feature, do it better, charge $49/month.
Validate with the $100 test
Before building anything, find 5 people in your target industry and ask: "Would you pay $X/month for a tool that does Y?" If 2 out of 5 say yes immediately — build it.
For me the problem was obvious: freelancers sign contracts without understanding them because legal review is too expensive. My niche: contract review for freelancers under $100/month.
Step 2 — Set up Cursor and plan your MVP
Download Cursor (cursor.com) and open a new project. Before writing a single line, create a simple text file called plan.md and write out:
# ContractAI MVP Plan
## Core feature (just one)
User uploads a contract PDF → AI highlights risky clauses → Plain English explanation
## What it does NOT do (v1)
- No user accounts
- No saved contracts
- No email notifications
- No team features
## Stack
- Frontend: HTML + vanilla JS
- AI: Claude API (Anthropic)
- File handling: PDF.js
- Hosting: Replit / Vercel
## Done when
- User can upload a PDF
- AI returns 3-5 flagged clauses with explanations
- Works on mobile
The plan keeps you from scope creep. Your MVP should do exactly one thing well. Everything else is v2.
Step 3 — Vibe code your MVP (Saturday)
Open Cursor and start with this prompt:
Build me a single-page web app where a user can paste contract text or upload a PDF. Send the text to the Anthropic Claude API with this system prompt: "You are a legal risk analyzer. Review this contract and identify the 5 most risky clauses for the person signing it. For each clause: quote the exact text, explain the risk in plain English (max 2 sentences), and rate it High/Medium/Low risk. Return as JSON." Display the results in a clean card layout with colour-coded risk badges.
Cursor will generate most of the code. Your job is to test it, describe what's broken, and iterate. Expect 20-30 rounds of back-and-forth. This is normal — it's vibe coding, not traditional development.
Don't ask Cursor to build everything at once. Break it into small tasks: first get the text input working, then the API call, then the display. One feature at a time.
By Saturday evening you should have a working prototype. It won't be pretty. That's fine. Does it do the core thing? Yes? Move on.
Step 4 — Polish and deploy (Sunday morning)
Sunday is about making it look professional enough that someone will pay for it. Ask Cursor to:
- Clean up the UI — dark theme, clear typography, professional colours
- Add a loading state so users know the AI is thinking
- Add error handling for invalid files
- Make it responsive on mobile
- Add a simple header with your product name and tagline
Deploy to Replit (one click) or Vercel (free tier). You now have a live URL. Your product exists on the internet.
Step 5 — List on vibc.ai (Sunday afternoon)
Go to vibc.ai/dashboard and create your builder account. The listing wizard will walk you through:
Product basics
Name, tagline, industry (Legal), and target customer (Freelancers). Keep your tagline to one sentence that names the problem and the solution.
Pricing
Start at $49-$79/month. Don't undercharge. If you're solving a real problem, people will pay. Set a 14-day free trial — no credit card required.
Connect your app
Paste your Replit or Vercel URL. vibc.ai wraps it with auth and billing so you don't have to build those yourself.
Connect Stripe
This takes 5 minutes. Once connected, vibc Pay handles all subscriptions and deposits 75% to your account weekly.
Step 6 — Get your first 10 customers
This is where most builders give up too early. Your first 10 customers won't come from Google. They come from direct outreach.
- Post in Reddit communities — r/freelance, r/legaladvice, r/digitalnomad. Share the tool honestly: "I built this free tool for freelancers, would love feedback."
- LinkedIn — Post your story. "I built a contract review tool over the weekend. Here's how." Tag it with #vibecoding #freelance #legaltech.
- Direct message 20 freelancers — Find them on Upwork, Fiverr, Twitter. Send a personal message. Offer a free trial in exchange for feedback.
- Product Hunt launch — Schedule for a Tuesday. Get friends to upvote. A top 5 Product Hunt finish can bring 500+ visitors in a day.
My first subscriber came on day 3. My first 10 came by day 14. Month 1 I made $390. Month 6 I made $2,100. Month 12 I'm at $3,590. It compounds if you keep improving the product.
Real results from this approach
The hardest part wasn't building the product. It was believing that something built in a weekend could be worth paying for. It can. The value is in solving the problem — not in the elegance of the code.
Your industry has the same problems. The software serving it is either too expensive, too generic, or doesn't exist at all. You understand those problems better than any Silicon Valley engineer ever will.
Build the tool. List it. Ship it. The rest follows.