
BasinCheck
Safety Audit Software for Oil & Gas Contractors
Quick background: I'm building BasinCheck, a safety audit and compliance tool for US oil & gas contractors and industrial teams. Solo technical founder, based in Wroclaw, Poland, selling to Texas.
Yes, that combination is as weird as it sounds.
Customer 1 signed about a month after launch. I gave them a six-month pilot at $299/month and then worked like hell: shipped every change they needed, and a bunch they didn't ask for, to make using the app seamless. Over those six months it became something they use so often they can't imagine working without it anymore.
When the pilot ended, they renewed at almost 3x, around $860/month.
There was some back and forth first (typical business negotiation), but the renewal got approved recently, and that's what pushed MRR past the $1K mark I'd been chasing.
The part I didn't plan for:
their Safety Manager was happy enough with the tool to offer to act as a customer reference. That reference helped me land customer 2, who came in after a week of internal review and that reference call.
Demo bookings also tripled last week. In absolute terms that means going from 1 a week to 3, so let's not get carried away.
But things are starting to move.
Still early, and I'm not claiming this always works. But the loop of cheap pilot -> heavy iteration -> deep daily usage -> 3x renewal -> reference -> next customer is the first thing I've done that actually compounded.
Happy to answer anything: pilot terms, how the renewal negotiation went, or what it's like selling compliance software to the American oilfield from Poland.
Fast start, false certainty
BasinCheck launched late in December 2025, and by the end of January 2026 there was already a first paying customer.
At first, that felt like the breakthrough moment.
The infamous "going from 0 to 1"
But then came the months after....
The quiet stretch nobody talks about
From February until around mid-May, it was mostly crickets.
There were some demos, which at least gave the illusion of momentum, but many of them ended with a polite “no thanks.”
On top of that, there were cold emails and LinkedIn DMs that simply went unanswered.
That period was much harder mentally than the launch itself.
The real question after customer #1
Because once the first customer exists, the emotional question changes.
Before customer #1, the question is whether anyone will ever pay.
After customer #1, the question becomes whether that person was just a fluke.
That was exactly where my head was at.
I was grateful for the first customer, but I did not yet trust the pattern.
The first tiny viral loop
Then the first tiny viral loop happened.
Customer #2 originated from a Reddit post I had made roughly three months earlier in r/alphaandbetausers.

That alone would have been a funny internet story.
But what made it meaningful was that customer #1 became a reference and gave customer #2 a rock-solid recommendation.
What actually changed
That was the shift.
Not just another lead.
Not just another demo.
Not just me pushing harder on outreach.
A real customer had a good enough experience to actively help create the next one.
That was the first moment that truly felt like entering the world of SaaS.
Customer #1 vs customer #2
Customer #1 was exciting.
Customer #2 was relieving.
The first customer proved somebody might pay.
The second one, especially coming through trust and recommendation, made it feel like maybe this could become a real business rather than a one-off event.
Where things stand now
That does not mean everything is solved.
It is still early, and there is still a lot to build and prove.
But psychologically, that second customer changed the story in my head more than the first one did.
3 Likes
1 Comment
1 Comment
-
2
This is a strong signal, especially because customer #2 did not come from more shouting. It came through trust.
The part I’d be careful with now is treating this as a simple “do more acquisition” problem.
For BasinCheck, the real unlock may be figuring out which trust event should repeat: Reddit pain-solving, customer reference, compliance urgency, or the specific OSHA workflow that made the first review happen.
I would not try to solve that loosely in the thread because the wrong acquisition path could create more demos but not more serious buyers.
Happy to put the usable version in writing if you want — this feels like a clean $1k to $10k MRR path question, not general startup advice.
This is part of an ongoing series documenting BasinCheck's journey from zero to... wherever this goes.
If you've been following along, you know the origin story by now.
I'm a marketer who spent a year vibe-coding an oil & gas safety audit tool called BasinCheck. First post covered the build. Second post covered the moment a paying customer made it real.
This one is about what came after that, and honestly, it might be the most meaningful milestone yet.
A Reddit Comment That Changed the Product Roadmap
A few months back I was active in r/oilandgas. Not spamming. Just genuinely being useful: answering questions, pointing people toward resources, talking shop with safety managers and contractors who were dealing with real compliance headaches.
I made a comment offering to help anyone struggling with OSHA 300 CSV validation. The ITA portal is notoriously finicky. OSHA's own template has formatting quirks that their submission system rejects silently. It's a known pain point in the industry and I had been working on a solution for it.
Steve saw the comment. He reached out.
The Thing I Did That Didn't Scale
Here's the part I want to be transparent about, because I think it's actually the most important part of the story.
BasinCheck existed at this point, but the CSV validator wasn't fully wired into the product yet. It lived in a custom script on my machine - an early beta version of what I already knew would become a core feature.
So I asked Steve to send me his file.
I ran it through the script manually. Identified the formatting issues. Fixed them. Sent him back a clean CSV. No charge. Just a real user, a real file, and a real test of whether the thing actually worked outside of my own machine.
He submitted it to OSHA's portal. It went through first try.
I wasn't guessing at the roadmap anymore. I had proof of demand wrapped in a solved problem, delivered by hand, to one specific human being who needed it.
Paul Graham calls this "doing things that don't scale." I was living it without fully realizing it.
Then, Weeks Later: A Review I Didn't Ask For
I woke up one morning to a notification. Steve had left a public 5-star review on Capterra. Unprompted (here's the proof)
He wrote about the old process: the finicky templates, the OSHA ITA rejections, the annual headache, and then:
"I exported my CSV and let BasinCheck do the rest. Once they reviewed and validated my file, I was able to submit with zero issues. Knowing what the process was like previously, I can't imagine not utilizing BasinCheck again."
He didn't know, and I hadn't told him, that when he submitted that review, the beta script I had run on his file manually was already live inside BasinCheck as a fully built feature. The future he was describing had already arrived.
That loop closed in a way I didn't plan but will never forget.
Why the First Review Hits Different Than the First Customer
The first paying customer is a transaction. Someone bet money on your idea. That's huge, don't get me wrong.

But a public review is something else entirely. Nobody pays you for it. Nobody reminds you to do it. It's a person sitting down, finding the words, and deciding that what you built is worth talking about publicly.
And Steve wasn't even a paying customer. He was someone I helped for free on Reddit.
He owed me nothing.
When he wrote that review, he wasn't doing me a favour. He was documenting a workflow improvement in his own professional life. I just happened to be the tool that made it possible.
That reframe, from "my user left me a review" to "my user documented their own success," changed how I think about everything going forward.
What This Means for the Build
The CSV validator is now a core BasinCheck feature. It's live. It works. It's been validated by a real workflow, a real user, and a real submission to a real government portal.
More importantly, the method of discovering it, going where the pain is, offering help before asking for money, doing it manually first, is now how I think about every future feature.
The next thing I build for BasinCheck won't start with a Figma mockup. It'll start with a Reddit comment.
BasinCheck is a safety audit and compliance tool built for oil & gas SMBs. We're early, we're building in public, and we're just getting started: basincheck.com
1 Like
Comment
When I started building BasinCheck, I thought I was competing with the big EHS platforms. Turns out, most small-to-midsize contractors in the Permian Basin are still running safety audits in Excel spreadsheets, paper binders, and Word docs.

The "enterprise EHS suite" landscape
There are legitimately great tools out there:
SafetyCulture - Excellent inspection/checklist platform, but paid plans scale per seat/user
KPA Flex - Strong compliance + training suite, typically quote-based pricing
VelocityEHS - Enterprise-grade EHS management across many industries
Cority - Unified platform for larger orgs; pricing often varies by modules/employees
Benchmark Gensuite - Comprehensive EHS suite, common in enterprise manufacturing/energy
GoAudits - Mobile inspection app with per-user pricing on paid tiers
DoneSafe - WHS/EHS platform sold in annual packages
Field Eagle - Field service + compliance tool
Most of these are multi-industry platforms (hospitality, manufacturing, construction, retail) and they're built for bigger teams with dedicated safety departments, IT, and implementation budgets.
Therefore, I built a quick ROI calculator to compare per-seat vs. flat-rate pricing at different crew sizes.

It addresses the most important aspect of software pricing in the EHS space:
"Will using more of that tool will cost me more and how does it scale?"
I talked with multiple oil and gas operators in the Permian Basin and was told that crew head counts fluctuate from month to month. So, charging per seat is a sure way to cause HSE's and Safety Managers a massive headache.
The BasinCheck wedge
I built BasinCheck with three constraints:
Flat-rate pricing, unlimited users - Your crew size shouldn't dictate your software bill
Audit-ready from day one - Timestamped records, follow-up tracking, export-ready reports
No implementation bloat - You can onboard in minutes, not months
We just landed our first pilot customer (6-month custom rollout) and got our first Stripe notification last week.
The real trigger wasn't just "going digital" - it was defensibility. One of our early users summed it up:
"I just want to know whether [Crew Lead] in West Texas is actually performing his daily forklift checks - without me having to be at the site."
You can't get that real-time verification from a binder in a truck.
More importantly, I wanted to give SMBs the same "armor" the big guys have. When OSHA shows up, it shouldn't be a "Code Red" where everyone runs to the truck to frantically dig through coffee-stained binders. It should be a non-event: you click "Export OSHA Records," hand over the PDF, and you're done.
My question for this community
For those who've built in "unsexy" verticals where the incumbent is a spreadsheet:
How did you frame the switch cost vs. the risk cost?
Did you lead with a free checklist/template to prove value first, or did you go straight to demo?
What's worked better: async onboarding (loom + docs) or live walkthrough calls?
I'm at the "$1k → $10k MRR" milestone and now trying to figure out how to scale acquisition without burning through my runway on unqualified leads.
If you're running safety operations in oil & gas (or adjacent industries), try the ROI calculator or DM me for our audit checklist + what we've learned so far.
1 Like
Comment
It happened.
Feb 5th, 11:47 AM. Stripe notification: "Payment succeeded."
A real company. Paying real money. For software I built alone in my apartment in Poland while pretending I knew what I was doing with Next.js.
The feeling is... weird?
I expected fireworks. Maybe tears. Something cinematic.
Instead, it was just... normal? I stared at my phone for 30 seconds. Then I went back to debugging their onboarding flow.
The dopamine hit lasted about 4 minutes before reality kicked in:
Oh shit. They're paying me. Now I actually have to deliver.
What changed in that moment:
This isn't a side project anymore. It's a business. Someone signed a contract, entered their card details, and trusted that BasinCheck (my oil & gas safety audit tool) will make their life easier.
The weight of that is heavier than I expected.
The shift:
Before: "I hope this works"
After: "This HAS to work"
No more "I'll fix that bug next week." No more "good enough for now." They're not paying for "good enough" - they're paying for a solution that saves them time and keeps them OSHA compliant.
What I'm doing differently now:
Support response time goal: <2 hours during business hours
Weekly check-ins with the customer (proactive, not reactive)
Every bug gets triaged same-day
Building their feedback directly into the roadmap
The honest part:
I'm terrified of screwing this up. But I'm more terrified of going back to zero customers.
So I guess this is where the real work starts.
For everyone still at $0:
Keep going. The notification will come. And when it does, you'll feel exactly this weird mix of pride, relief, and "oh crap, now what?"
What was your first dollar moment like?
Did it feel as anticlimactic as this?
PS. Are you looking to move your safety audits from paper and spreadsheets? Try out BasinCheck and stop chasing paper and chaotic documentation.
4 Likes
1 Comment
1 Comment
-
1
Congrats on launching BasinCheck turning oilfield safety audits into a structured, automated workflow instead of paper checklists is a solid move.
I especially like the focus on corrective actions and compliance-ready reporting; that’s clearly built by someone who understands the real operational pain, not just the software side.If you ever want an extra set of frontend hands or a second brain on UX as this evolves, happy to help or chat. Either way, well done shipping this.
After a year of building in the dark and countless cold calls, I finally got the "yes" I've been waiting for.
Yesterday's call ended with: "Let's move forward with a 6-month pilot program."
Context:
BasinCheck is an oil & gas safety audit tool for SMB contractors in the Permian Basin. I'm a marketer who fell down the vibe coding rabbit hole - spent 2 months building this from scratch with Next.js and Postgres.
What happened:
This was our second discovery call with a mid-size contractor (can't name them due to NDA)
They deal with the exact pain point BasinCheck solves: time-consuming OSHA compliance for field crews
They want customized onboarding and a phased rollout across their teams
6-month pilot to prove ROI before full commitment
What's next:
Building out their custom onboarding flow this week
Need to nail the implementation or this dies fast
Pressure is real but exciting
The reality check:
This isn't $1 MRR yet (pilot starts in a few weeks), but it's the first real validation that someone will actually pay for this thing. Going from "nice product" to "we'll sign a contract" felt like crossing a chasm.
If you're grinding on your micro-SaaS - the calls that feel like they're going nowhere? Keep taking them. One of them will say yes.
What was your first pilot/customer moment like? Any advice for not screwing this up?
1 Like
Comment
We are officially executing on our roadmap to $1k MRR. The product is stable, the first pilots are running, and the feedback loop is active.
Next up: Polishing our OSHA 300 Log automation and rolling out the first batch of SEO programmatic pages to capture high-intent search traffic.
If you're an indie hacker building for 'boring' B2B industries, let's connect."
1 Like
Comment
Just wrapped up a demo with a multi-site construction company. I built this for Oil & Gas, but it turns out the overlap in OSHA 1926 (Construction) and 1910 (General Industry) standards is huge.
They deal with the exact same 'struck-by,' 'caught-between,' and 'fall protection' hazards as my oilfield users. This might open up a much bigger market for BasinCheck earlier than I thought.
Back to the code editor - they need a specific Pre-Use Inspection Checklist and QR code generator for their heavy equipment to be in place before they sign up for the pilot demo.
1 Like
Comment
BasinCheck.com is officially live!
It’s a simple MVP focused on one thing: helping safety officers ditch paper checklists. We launched with just the core 'Audit' and 'Corrective Action' features.
I've already started showing it to a few local contacts here in Texas. The goal for Jan 2026 is simple: get our first paid user and prove that SMBs want a dedicated tool, not just another Excel sheet.
1 Like
Comment
After a year of experiments, I finally committed the first production code for BasinCheck today.
I'm betting on Next.js for the frontend and Postgres for the backend. The biggest technical challenge isn't the stack itself: it's building a reliable offline-first sync engine. Oil & Gas safety managers in the Permian Basin often work in dead zones, so if the app doesn't cache perfectly offline, it's useless to them.
Time to stop doodling and start shipping.
1 Like
Comment
About
I believe safety tools should be as intuitive as consumer apps. After 6 years in SaaS marketing, I realized that 'simple' sells, but 'safe' keeps you in business. I learned to code specifically to build BasinCheck.



Comment