Taking new projects

Replace the SaaS stack
& keep just what you need.

I'm Mat Strommen. Small businesses pay every month for a stack of SaaS tools that each cover a slice of the job and none of them fit exactly. I build one system instead: a database, a display layer, and an AI that can make real changes to it, built around how you actually work instead of a template built for everyone.

Database · display layer · AI that edits itChat window · test environment · push to prodScheduled jobs · imports · sales tracking

01 / What I do

01.1

Take the SaaS bill off the table

Say you're running an HVAC outfit or a small construction company. Chances are you're paying for two or three tools that each cover part of the job and none of them fit exactly. I take those subscriptions off the table and replace them with just what you actually need to run the business. What that looks like for an HVAC shop.

01.2

Agents that run the business

You get a chat window, a test environment, and a way to push changes to a live system, plus the ability to actually manage the AI doing the work. Track sales, import data, run jobs on a schedule, automate more than before, at a fraction of what the SaaS stack was costing.

01.3

Advisory & second opinions

Sometimes the right answer is a half-day conversation, not a three-month build. Architecture reviews, AI-adoption strategy, and a sanity check on the tools you're already paying for, billed by the hour, no retainer.

01.4

Also: platform & infrastructure work

I still do Kubernetes, Terraform, CI/CD, and cloud cost work when that's the actual need. It's not the lead anymore, but it hasn't gone anywhere: see the platform & infrastructure page.

02 / Case study: the flipping app

02.1

It catches new lots as they list.

It pulls in auction opportunities as they come up. Scheduled jobs watch several government and corporate surplus auction sites, run keyword sweeps for the gear we specialize in, and import every won lot on their own. No one is refreshing a page or retyping a listing into a spreadsheet.

02.2

It reads more than the listing.

It reads the auction's text, checks every one of the seller's photos, zooms in on nameplates it can't make out, reads attached PDFs, and counts what's actually in the lot. When it still can't name the make and model, a second model on our own hardware takes another look. Feeding it the whole photo gallery instead of the lead photo roughly doubled how often it got the model right.

02.3

The AI names it. Arithmetic prices it.

Once the item has a name, it checks sold eBay comps first and only falls back to asking prices, discounted, when nothing has sold. The most we should bid is calculated from fees, shipping, labor, and the auction's buyer premium, never guessed by a model. Every lot lands on a board as buy, watch, or skip, ranked by how far the bidding sits under that ceiling, with a page showing exactly which comps it used.

02.4

Research happens before the first screw comes out.

When a lot arrives, the AI identifies each unit from its serial tag, finds the manufacturer's service manual, writes a test plan, prices missing parts from live listings, and says how much bench time the unit is worth. Units are tested in order of dollars at risk per bench hour, so the expensive maybe-broken instrument goes first.

02.5

Listings are drafted, not typed.

eBay listings are built through eBay's own selling API: the category, item specifics, and weight go in as clean data, backgrounds are removed from the photos without touching the item itself, and the description comes from the unit's bench report. Every listing stops as a draft. A person reads it and presses publish.

02.6

Shipping and the books keep up on their own.

When an order lands, it recommends the cheapest box counting postage, prints the pack slip at the office, and checks the printer's page counter to confirm it actually printed. Every expense goes into a ledger, cost of goods locks at the moment of sale, and our accountant has a login that can read every number back to the transaction behind it.

02.7

It tracks the whole life of the item.

Once we win a lot, the same system carries it through inventory, repair, listing, and sale, plus the P&L, the tax ledger, and a CRM for the people buying it. Every unit gets a barcode label whose QR code opens its full history. And because the AI can reach all of it, "what has been sitting untested the longest" is a question in a chat window, not an afternoon in a spreadsheet.

02.8

Every change is tested. Every night is backed up.

The app changes constantly, mostly by asking Claude for what we want. Each change runs through 4,466 automated tests, browser tests that click through the app, and a check that loads every page before it goes live. The database is backed up every night with a weekly offsite copy, and every release can be rolled back to the last one that worked.

02.9

It's what we run our own business on.

This isn't a slide in a deck. Strommen Systems is a real surplus-resale business, and this is the software we actually use to run it, end to end. I'll show you the real thing if you want to see it, not a demo account.

03 / Same shape, your business

03.1

The item becomes the job.

Our lot moves from sourced to repaired to sold to shipped. An HVAC job moves from lead to estimate to scheduled to invoiced to paid, and the app won't let one skip a step or fall between the office and the truck.

03.2

A nameplate is a nameplate.

The same photo reading that identifies a lab instrument reads the furnace a customer texted you: model, serial, age, the service manual, and the likely parts, before anyone rolls a truck.

03.3

Repair hours become payroll.

We log labor per person per repair ticket. For a trade that's hours per tech per job: it costs the job and rolls up into payroll, ready for your payroll provider or accountant.

03.4

Every customer conversation, one record.

We already pull email into a customer record and have AI draft the replies. For a trade that record also holds the calls, the texts, the reviews, and the voice reminders, with AI sorting the feedback by what went wrong and who was on the job.

04 / How I work

04.1

One person on your problem.

Not a team of strangers cycling through Slack. You get the person who understands your system, builds the fix, and is on the call when it goes live.

04.2

If it's not in code, it doesn't exist.

Every change is written down and reviewable before it happens. Nothing lives only in my head or a one-off script, and the keys to anything sensitive sit in a proper vault, not a text file. Reproducible is the only definition of "done" that means anything.

04.3

Hard rules before AI judgment.

A short list of hard-coded rules blocks the dangerous stuff (deleting data, spending money, going live) before the AI ever gets a vote. Suggestions can be probabilistic; anything that touches your real data or your real customers can't be.

04.4

Tested before it goes live, not after.

Every change is checked automatically before it reaches your customers, not after one of them finds the bug. Nothing skips that step to save time, and nothing that fails it goes out anyway.

04.5

Earned autonomy.

The AI starts on a short leash. It earns more room by being right, not by being promised more up front, and it only acts on its own once it's proven reliable somewhere lower-stakes first. One real mistake sends it back to a shorter leash.

04.6

I leave you with documentation, not dependency.

Every engagement ends with a plain-English guide, a diagram of how it works, and someone on your team who can keep it running. The goal is for you to stop needing me.

05 / Get in touch

Tell me what you're working on. I read every message; if it's a fit I'll reply within two business days with either a yes, a no, or a useful pointer if I'm not the right person.

Smallest engagement: a single half-day advisory call. Largest: roughly three months of focused build work. No retainers, no agencies-of-record.

hello@strommen.systems

LinkedIn GitHub

Prefer email? Reach me directly at hello@strommen.systems, or send the form below and it lands straight in my inbox.

I use your details to answer your enquiry and manage related service or order records. Sending this form does not subscribe you to marketing.