How I'd Build a $12K/Month SaaS in 90 Days (Step by Step)
How I'd Build a $12K/Month SaaS in 90 Days (Step by Step)
I'm going to do something a little different with this one. Instead of handing you a list of ideas and wishing you luck, I'm going to walk through my exact process — from a blank screen to a validated, revenue-generating SaaS product — as if I were starting from scratch today.
The target: $12,000 in monthly recurring revenue within 90 days.
That number isn't arbitrary. It's the threshold where a solo-founder SaaS becomes a real business. It covers living expenses in most cities, funds its own growth, and proves that people will pay for what you've built. It's also achievable without venture capital, a team, or a massive audience — if you pick the right problem and move fast.
I'm going to show you the specific niche I'd target, why I'd target it, how I'd validate it in under a week, what the MVP looks like, the tech stack I'd use, and the exact go-to-market playbook I'd follow. Every decision is explained. Every assumption is testable.
Let's get into it.
Day 1-7: Finding the Gap
Most people start with an idea. That's backwards. I start with a constraint: I want a market where businesses already spend money on software, where the existing options have clear and vocal detractors, and where the buyer is a business (not a consumer) with a budget of at least $100/month for the right tool.
Those three filters eliminate about 95% of the ideas you'll find on Reddit or Indie Hackers. And that's the point. I've written before about what filters actually predict SaaS success, and willingness to pay is the one that matters most.
So where do I look?
I go to G2 and Capterra. Specifically, I look for software categories where:
- The top-rated product has fewer than 500 reviews (small market, not dominated yet)
- The average star rating across the category is below 4.0 (users are dissatisfied)
- The pricing starts above $50/month (the market supports real revenue)
I spend about two hours clicking through categories. I'm not looking for inspiration. I'm looking for evidence.
After that sweep, three categories stand out to me right now, in mid-2026:
- Client reporting tools for digital marketing agencies — agencies hate their current options, and the market is fragmented
- Permit and license tracking for construction companies — compliance-driven, recurring need, terrible existing software
- Inventory management for small e-commerce brands using multiple warehouses — a growing pain point as DTC brands scale to 3PLs
All three pass the filters. But I need to pick one. So I apply a second round of evaluation.
Picking the Winner
I ask four questions:
Can I reach the buyer directly? For marketing agencies, yes — they hang out on Twitter, LinkedIn, and in Slack communities. For construction companies, it's harder — they're not very online. For e-commerce brands, they're on Shopify forums and Twitter. Agencies and e-commerce win here.
Is the pain acute or chronic? Permit tracking is acute — miss a deadline, pay a fine. Client reporting is chronic — it's annoying every month but nobody goes out of business over it. Inventory management is acute when you oversell or ship from the wrong warehouse. Construction and e-commerce win here.
Can I build a useful MVP in 2-3 weeks? Client reporting has a lot of integration work (Google Ads, Meta, GA4, etc.). Permit tracking is mostly CRUD with date-based alerts — simple. Inventory management requires syncing with Shopify, ShipStation, various 3PLs — complex. Permit tracking wins here.
How crowded is the space? This is where I spend real time. I search "construction permit tracking software" and find... very little. A few enterprise solutions priced at $500+/month. A couple of spreadsheet templates. One or two startups that look abandoned. Compare that to client reporting tools, where there are dozens of established players (AgencyAnalytics, Whatagraph, DashThis, etc.).
The decision is clear: permit and license tracking for construction companies.
It's a boring SaaS idea that could make serious money — exactly the kind of opportunity most developers scroll past because it doesn't sound exciting on Twitter.
Day 7-14: Validating Demand Before Writing a Line of Code
I have a hypothesis: small to mid-size construction companies (5-50 employees) struggle to track permits, licenses, certifications, and compliance deadlines, and they'd pay $99-$199/month for software that handles it.
Now I need to pressure-test that hypothesis. I'm not going to build anything yet. I'm going to talk to people and look for money signals.
Step 1: Find the Conversations
I search Reddit (r/Construction, r/Contractors, r/smallbusiness) for posts mentioning permits, compliance, license renewal, OSHA, and similar terms. I'm looking for complaints, questions, and workarounds.
What I find is encouraging. People posting about:
- Forgetting to renew contractor licenses and losing the ability to bid on jobs
- Scrambling to track which employees have current safety certifications
- Getting fined because a permit expired during a project
- Using spreadsheets and calendar reminders that break down as the company grows
These aren't hypothetical problems. They're real people describing real pain with real financial consequences.
Step 2: Size the Market
There are roughly 750,000 construction companies in the US with between 5 and 50 employees. If I capture just 0.1% of that market at $149/month, that's $1.1 million in ARR. The addressable market is more than large enough.
But market size alone doesn't validate anything. I need to confirm willingness to pay.
Step 3: Test Willingness to Pay
I create a simple landing page. One page. A headline that describes the problem ("Stop Missing Permit Deadlines. Stop Paying Fines."), three bullet points explaining what the product does, a pricing section showing $149/month, and a "Join the Waitlist" button.
I don't need a fancy design. I use a template. The whole thing takes about three hours.
Then I drive traffic to it. Not with ads — with direct outreach. I find 50 construction company owners on LinkedIn who have posted about compliance or business operations. I send a short, honest message:
"Hey [name], I'm building software that automatically tracks permits, licenses, and certifications for construction companies — sends alerts before anything expires. We're launching soon. Would this be useful for your team?"
I also post in relevant Reddit threads (genuinely helpful responses, not spam) and in two construction-focused Facebook groups.
My goal for the week: 200 landing page visitors, 15+ waitlist signups, and 5 actual conversations with potential customers.
If I hit those numbers, I build. If I don't, I go back to my list of three niches and try the next one. This is the validation process that separates ideas worth building from ideas that just sound good.
Let's say the numbers come in strong. Twenty-two waitlist signups in six days. Eight people respond to my LinkedIn messages, and five of them get on a 15-minute call with me.
On those calls, I learn critical details:
- Most companies track this stuff in spreadsheets or, worse, in someone's head
- The office manager is usually the person responsible, and they hate it
- The average company tracks 30-80 different permits, licenses, and certifications
- A single lapsed license can cost $5,000-$25,000 in fines or lost contracts
- Two of the five people ask me when they can start paying
That last point is the strongest signal you can get. Let's build.
Day 14-35: Building the MVP
I have three weeks to build something people can use and pay for. That means I need to be ruthless about scope.
Defining the MVP
Based on my customer conversations, the MVP needs exactly four things:
- A dashboard showing all permits, licenses, and certifications with their expiration dates, color-coded by urgency (green, yellow, red)
- Automated email and SMS alerts at 90, 60, 30, and 7 days before expiration
- Document storage — upload the actual permit/license PDF so it's in one place
- A simple way to add and edit items — basically a smart form with fields for type, issuing authority, expiration date, assigned employee, and notes
That's it. No integrations. No AI features. No mobile app. No team permissions beyond basic login. Every feature I don't build is a week I save.
Tech Stack
I'm a solo developer in 2026, which means I'm leaning heavily on AI-assisted coding. Here's what I'd use:
- Next.js for the frontend and API routes — it's the fastest path to a production app for a solo dev
- Supabase for the database, auth, and file storage — eliminates a massive amount of backend work
- Tailwind CSS with a component library (shadcn/ui) for the UI — I'm not designing anything custom
- Twilio for SMS alerts, Resend for email alerts
- Stripe for billing
- Vercel for hosting
For the actual coding, I'd use Claude or Cursor as my primary development environment. The data model for this app is straightforward — permits, users, organizations, alerts — and AI tools handle CRUD applications extremely well. I'd estimate that AI-assisted development cuts my build time by 40-60% on a project like this.
The total infrastructure cost at launch: under $50/month.
The Build Schedule
Week 1 (Days 14-21): Database schema, authentication, and the core CRUD interface. By Friday, I can log in, create an organization, and add/edit/delete permit records.
Week 2 (Days 21-28): The dashboard view with color-coded urgency, document upload via Supabase Storage, and the alert system (a cron job that checks for upcoming expirations and sends notifications via Twilio and Resend).
Week 3 (Days 28-35): Stripe integration for billing, a basic onboarding flow, and polish. Fix bugs. Write a help doc. Make sure the emails don't land in spam. Test the SMS alerts. Get one of my waitlist contacts to use it and give me feedback.
By day 35, I have a working product. It's not beautiful. It doesn't have every feature my customers mentioned. But it solves the core problem: "I never want to miss a permit expiration again."
Day 35-50: Getting the First 10 Customers
This is where most technical founders stall. The product is built, and now they realize they don't know how to sell it. I'm going to sidestep that problem by starting to sell before the product is even finished — and by using channels that don't require an audience or an ad budget.
Channel 1: The Waitlist
I have 22 people on my waitlist. I email every single one personally. Not a mass email — individual messages referencing our previous interaction. "Hey Mike, the tool we talked about is live. I'd love to get you set up this week. First month is free, then $149/month. Want me to walk you through it?"
Realistic conversion: 4-6 of those 22 will become paying customers after the free month.
Channel 2: Direct Outreach on LinkedIn
I identify construction company office managers and operations managers on LinkedIn. These are the people who actually deal with permit tracking day-to-day. I send 15-20 connection requests per day with a brief, relevant note.
Once connected, I don't pitch immediately. I share a short post about construction compliance ("Did you know the average GC tracks 47 active permits? Here's why spreadsheets break down at that scale.") and then follow up with anyone who engages.
This is slow. It's manual. It works.
Channel 3: Construction Industry Forums and Facebook Groups
There are active Facebook groups for general contractors, construction business owners, and specialty trades. I join 5-10 of them. I participate genuinely — answering questions about business operations, compliance, and organization. When permit tracking comes up (and it does), I mention my tool.
I also look for industry-specific forums and associations. Many state contractor associations have online communities. Some have newsletters that accept sponsored content for surprisingly low rates ($200-$500 for an email blast to 5,000 members).
Channel 4: Google Ads (Small Budget)
I set up a Google Ads campaign targeting high-intent keywords: "construction permit tracking software," "contractor license management tool," "permit expiration reminder software." These are low-volume keywords — maybe 200-500 searches per month combined — but the intent is extremely high. Someone searching for this is actively looking for a solution.
I budget $500 for the first month. At a $5-$10 CPC and a 5% conversion rate on my landing page, that's 5-10 waitlist signups, of which 2-4 might convert to paying customers.
By day 50, my goal is 10 paying customers at $149/month. That's $1,490 MRR. We're on the board.
Day 50-75: From 10 to 50 Customers
The jump from 10 to 50 customers requires doing more of what's working and adding one or two scalable channels.
Double Down on What's Working
By now, I know which channel is producing the best customers. Let's say LinkedIn outreach is converting at 8% and Google Ads at 4%. I increase my LinkedIn activity and raise my Google Ads budget to $1,000/month.
Add Content Marketing (SEO)
I write 4-6 blog posts targeting long-tail keywords that my ideal customer searches for:
- "How to track contractor licenses across multiple states"
- "Construction permit expiration fines by state"
- "OSHA certification tracking for small contractors"
- "General contractor license renewal checklist 2026"
These posts won't rank immediately, but they'll start building domain authority and will compound over time. Each post includes a natural CTA for the product.
Introduce a Referral Incentive
Construction is a relationship-driven industry. Contractors know other contractors. I add a simple referral program: give your contact a free month, get a free month yourself. No fancy referral software — just a unique link and a manual tracking spreadsheet on my end.
Talk to Every Customer
At this stage, I'm personally onboarding every new customer. A 20-minute Zoom call where I help them set up their first 10 permits. This serves three purposes: it dramatically reduces churn (they're invested), it gives me constant product feedback, and it builds genuine relationships that lead to referrals.
I also use these calls to identify the most-requested features. By day 60, patterns emerge: everyone wants the ability to assign permits to specific employees, and several customers want a way to share compliance status with general contractors they subcontract for.
I build the employee assignment feature (3 days of work). I add the compliance sharing feature to my roadmap for month 4.
By day 75, I'm targeting 40-50 customers at $149/month. That's roughly $6,000-$7,500 MRR.
Day 75-90: Pushing to $12K MRR
The final push requires two things: reducing churn and increasing average revenue per customer.
Reducing Churn
At this point, I've probably lost 3-5 customers. I email every single one to find out why. Common reasons at this stage:
- "We didn't end up using it" (onboarding failure — I improve the onboarding flow)
- "It's missing [feature]" (I note the feature and, if it's quick, build it)
- "Too expensive" (rare for B2B at $149, but I might offer an annual plan at $129/month)
My target churn rate is under 5% monthly. At this stage, every customer I retain is worth more than a new customer I acquire, because retained customers refer others.
Increasing ARPU
I introduce a second pricing tier. The original $149/month plan covers up to 50 tracked items and 5 users. The new $249/month plan covers unlimited items, unlimited users, and includes the compliance sharing feature (which I've now built).
I email all existing customers about the new plan. Several upgrade immediately — they've been hitting the 50-item limit.
I also introduce an annual billing option at a 15% discount. This doesn't increase MRR directly, but it reduces churn dramatically (people who pay annually almost never cancel mid-term) and improves cash flow.
Scaling Acquisition
By day 75, I have data on my customer acquisition cost for each channel. Let's say:
- LinkedIn outreach: $50 CAC (my time, mostly)
- Google Ads: $180 CAC
- Referrals: $0 CAC (just the free month, which costs me nothing)
- Content/SEO: Too early to measure, but posts are starting to get indexed
With a $149/month product and an average customer lifetime of 14 months (based on my current churn rate), my LTV is roughly $2,000. Any channel with a CAC under $500 is profitable. I can afford to spend more aggressively.
I increase Google Ads to $2,000/month. I start testing ads on Facebook targeting construction business owners. I reach out to 3-4 construction industry newsletters about sponsored placements.
I also do something that feels old-fashioned but works remarkably well in vertical SaaS: I attend a local construction industry meetup. I bring business cards. I demo the product on my laptop. Construction is an industry where trust matters, and showing up in person builds trust faster than any landing page.
The Day 90 Numbers
Let's be realistic about the math:
- 60 customers on the $149 plan: $8,940/month
- 15 customers on the $249 plan: $3,735/month
- Total MRR: $12,675
That's 75 total customers. Is that achievable in 90 days? With the channels I've described and a product that genuinely solves a painful problem, yes. The construction industry is large, the competition is weak, and the pain is acute and financially quantifiable.
Will every attempt at this hit $12K MRR in exactly 90 days? Of course not. Some will take 120 days. Some will stall at $5K and need a pivot in positioning or pricing. But the process — the systematic approach to finding, validating, building, and selling — is what matters. The specific niche is almost interchangeable.
Why This Niche, Why Now
Let me zoom out for a moment and explain why construction compliance is a particularly good opportunity in 2026.
Regulatory complexity in construction is increasing, not decreasing. New energy efficiency codes, updated safety requirements, and state-level licensing changes mean that the number of things a contractor needs to track grows every year. The companies dealing with this are mostly small businesses — they don't have compliance departments. They have an office manager with a spreadsheet and a prayer.
The incumbents in this space are enterprise software companies charging $500-$2,000/month with 12-month contracts and terrible UX. They were built for large construction firms with dedicated IT staff. Nobody has built a modern, simple, affordable tool for the 5-50 employee contractor.
This is the gap. And it's the same kind of gap that exists in dozens of other industries — veterinary clinics, dental practices, property management companies, independent pharmacies. Industries full of small businesses with real compliance needs and terrible software options.
I track these kinds of gaps at SaasOpportunities, and the pattern is remarkably consistent: the best micro-SaaS opportunities are hiding in industries that most developers find boring.
What I'd Do Differently If I Had No Technical Skills
Everything I've described assumes you can code (or at least use AI coding tools effectively). But the validation process — days 1 through 14 — requires zero technical ability. If you followed just that part of this playbook, you'd have a validated idea, a waitlist of interested buyers, and detailed knowledge of what to build.
From there, you have options: find a technical co-founder (you bring the validated market, they bring the skills), hire a freelance developer (budget $3,000-$8,000 for an MVP this simple), or use no-code tools. The no-code path is more viable than ever for CRUD-style applications like this one.
The point is: the hardest part of building a profitable SaaS isn't the code. It's choosing the right problem to solve. And that's a skill anyone can develop.
The Realistic Version
I want to be honest about what this looks like in practice, because blog posts like this can make it sound easier than it is.
Day 1-7 might actually take two weeks if you have a full-time job. Some of your LinkedIn messages will get ignored. Your first five customer calls might reveal that your assumptions were wrong, and you'll need to adjust your positioning. The MVP will have bugs. Your first paying customer will find an edge case you never considered. You'll spend an entire Saturday debugging Stripe webhooks.
The 90-day timeline assumes focused, consistent effort — probably 20-30 hours per week on top of whatever else you're doing. It assumes you pick a good niche on the first try (which is why the validation step is so important — it's cheaper to validate three niches and pick the best one than to build for the wrong niche and pivot later).
But the core logic is sound. Find a painful problem in a market that pays for solutions. Validate before building. Build the smallest thing that solves the problem. Sell it directly to the people who have the problem. Iterate based on what they tell you.
That's it. That's the whole playbook.
Your Next Move
If you've read this far, you're probably in one of two camps.
Camp one: you're nodding along but thinking about a different niche. Good. Take the process I've described and apply it to your niche. The framework works regardless of whether you're targeting construction companies, marketing agencies, or yoga studios. Start with the G2/Capterra sweep. Apply the filters. Pick a niche. Validate it this week.
Camp two: you're thinking about construction compliance specifically. Also good. The opportunity I've described is real, and as of this writing, nobody owns it. The window won't stay open forever — timing matters more than most founders realize — but right now, the market is wide open.
Either way, the worst thing you can do is read this, feel inspired, and then go back to scrolling. Open a new tab. Search G2 for an underserved category. Send one LinkedIn message to a potential customer. Build the landing page. Do one thing today that moves you from "thinking about building a SaaS" to "actively building a SaaS."
Ninety days from now, you'll be glad you started.
Get notified of new posts
Subscribe to get our latest content by email.
Get notified when we publish new posts. Unsubscribe anytime.