Thinking

Long-form notes on
building niche software.

Seven pieces below — on why we build for niches, how SalesThumb came out of a real tint shop, the general-aviation software gap, and practical field notes on window tint shop software, Vendasta reseller margins, window film visualizers, and Part 142 training-center billing.

Product thinking

Why niche software wins — and why most companies are afraid to build it

Generic software optimizes for the median user. The problem is that the median user is mostly a fiction.

Real businesses have specific shapes. A window tint shop is not a "service business." A flight school is not a "scheduling problem." A marketing agency reselling Vendasta is not a "billing customer." Each one runs on a tight set of workflows, vocabulary, and edge cases that look bizarre from the outside and obvious from the inside. Generic tools strip those off because the median user does not care about them. The actual users do — every day, all day.

The math everyone gets wrong

The reason most software companies will not build for a niche is the same reason most companies will not start a small bakery: the addressable market looks too small on a slide. Ten thousand tint shops in the United States is not a billion-dollar TAM. So venture investors push founders toward "horizontal" tools — a CRM you can sell to anyone, a scheduling app that works for anyone with a calendar.

What that math misses is depth. Customers in a niche do not have ten alternatives that fit them. They have zero. Most are paying for a generic tool they hate, plus three spreadsheets, plus a printed binder that lives by the front desk. A focused tool that actually fits the work replaces all of it. That is not a $20-a-month customer. That is a customer who pays for the operating system of their business and stays for a decade because nothing else exists at this resolution.

Why the depth compounds

The deeper you build into a specific industry, the harder you are to displace. The first version of a niche tool can look like any other SaaS app. The second version starts speaking the language. By the third, you have features no one else even knows are needed — because you only learn they exist after spending a year inside a real shop.

Tint warranty certificates with the right legal language for the right state. Charter dispatch that knows what an MEL is. Vendasta-provisioned services that auto-bill the moment a campaign goes live. None of these are interesting on a slide. All of them are make-or-break inside the business.

The honest reason most teams skip niches

It is not really about the market size. It is that building for a niche requires sitting inside one. You cannot do it from a slack channel and a few calls. You have to know the smell of an install bay. You have to know what makes a flight student quit. You have to have run the spreadsheet that the new tool is replacing.

That kind of work does not look impressive at a board meeting. So most teams skip it. Which is exactly why niche software keeps winning, quietly, for the small number of companies willing to do it.

Behind the build

How we built SalesThumb from inside a tint shop

SalesThumb did not start with a whiteboard or a pitch deck. It started with an actual shop, an actual install bay, and an actual frustration that had been building for years.

The problem before the product

Running a tint shop is not glamorous, but the work is precise. Every job has a vehicle, a film type, a coverage area, a position on the glass, a warranty, a price, a customer, a payment method, and a person standing at the counter who would like all of it to take less time. The available software treated all of this as a generic line item — a "service appointment" with no idea what film coverage even meant.

So shops did what every operator does when their software is wrong: they added spreadsheets. A Google Sheet for the daily board. A Word document for warranty templates. A printed binder for film inventory. A texting workflow for confirming appointments. None of it talked to anything else, and every new hire had to learn the whole stack.

The first version was almost too small

The first prototype of SalesThumb did exactly four things: capture a customer with their vehicle, lay out the install positions visually, generate the warranty certificate at completion, and email it to the customer. That was it. No reporting, no inventory, no mobile app. We ran it next to the existing software for a few weeks, and the existing software just stopped getting used.

That is the moment we knew it was the right thing to build. Not when it was feature-complete, but when one specific moment — generating a warranty cert in seconds instead of fifteen minutes — was so obviously better that nobody wanted to go back.

What real operators do that founders miss

One thing a tint shop owner taught me early: the front-desk person is the most important user, not the owner. The owner sees the dashboard once a day. The front-desk person uses the software twenty times an hour. If a click costs them a second, they pay for that second hundreds of times a day.

So we made the appointment screen one tap from anywhere, the customer-create form three fields, and the warranty cert one button. The whole thing got faster from there because the bar was set by what a real operator could feel — not by what looked elegant in a design tool.

Why we kept saying no

Once the shop ran on SalesThumb, the wishlist exploded. Reporting, inventory, multi-location, payroll, marketing automation, loyalty, gift cards, online reviews. We said no to most of it for a long time. The discipline is brutal, but it pays off: the product stays sharp because every feature has to earn its place, and operators do not have to learn ten new screens just to keep up.

We finally added inventory and multi-location after the third shop ran on it for a quarter. Marketing automation is still a no. Generic CRMs do that fine — and tying it into SalesThumb just to add it would dilute everything else.

What this looks like outside tint

The same playbook is what we are running with HubWho for marketing agencies that resell Vendasta and AviationAlley for general aviation. Sit inside the work. Build the smallest thing that obviously beats the existing setup. Say no a lot. Let depth compound.

Industry insight

The massive software gap in general aviation

If you have never had to call seven FBOs to find out who has self-serve fuel after 5pm, this essay will be confusing. If you have, the rest will read like an obvious diagnosis.

What general aviation actually runs on

General aviation in the United States is a multi-billion-dollar industry made up of FBOs, flight schools, charter operators, MROs, simulator-based Part 142 training centers, parts vendors, fuel vendors, hangar landlords, and the pilots and aircraft owners who use all of it. The flying part is highly regulated and beautifully digitized — modern avionics, ForeFlight, electronic flight bags, NEXRAD, all of it. The business-on-the-ground part is mostly running on phone calls, faxes, three-ring binders, and email chains that started in 2014.

Booking an FBO at a small field is a phone call. Scheduling an annual on a piston single is a phone call. Pricing fuel is a phone call. Quoting charter is a phone call. The information exists somewhere — it just lives in someone's head, or in a paper logbook, or on a website that has not been updated since the previous owner sold the business.

Why the gap is still there

The straightforward answer is that the addressable market for any single segment looks small. Five thousand FBOs, eight thousand flight schools, a few hundred Part 142 training centers — none of it is a venture-scale graph on its own. So the dominant aviation software companies stayed at the cockpit (charts, planning, weather) where the user count is bigger and the willingness to pay is direct.

The less obvious answer is that the work is messy. Every airport has its own quirks. Every FBO has a different fuel pricing model. Every flight school has its own standard for tracking instructor hours. Generic tools collapse on contact with this — and dedicated tools require sitting inside the businesses long enough to learn the shape.

What the right platform looks like

The platform aviation needs is not a single app. It is a connective layer. FBOs need a way to publish hours, fuel pricing, services, and availability so pilots can find and book them in seconds. Flight schools and Part 142 centers need scheduling, student progress, and FAA-compliant record keeping that respects the regulatory reality, not a generic LMS. Charter operators need quoting and dispatch that knows what a part 135 leg looks like. MROs need scheduling tied to aircraft history, not a generic appointment grid.

None of those are individually impossible. The hard part is that they all have to talk to each other — because the customer is often the same pilot who lands at an FBO, takes a checkout flight at the school next door, and has the school's mechanic do a 100-hour inspection that afternoon.

What we are building

AviationAlley is the connective layer. The first wave is FBO discovery and booking, flight school and Part 142 training center management, and pilot-side discovery of services on the field. After that, charter and MRO. The anchor customer is a Part 142 training center; the broader graph fills in from there.

The mistake would be trying to be ForeFlight. ForeFlight is in the cockpit and brilliant at it. AviationAlley is on the ground — for the businesses, the operators, and the pilots when they are not flying. Same industry, completely different shape.

Tint, detailing & PPF

What to look for in window tint shop software in 2026

Most window tint shop software is auto-repair software wearing a costume. It was built for oil changes and brake jobs, then sold to tint, detailing, and PPF shops with the rough edges left in. If you run a tint shop, the difference shows up every single day.

Film type and VLT have to be first-class

A tint shop tracks film type, install position, visible light transmittance (VLT), brow strips, and warranty terms — not parts and labor hours. Good window tint shop software treats film type and VLT as structured fields, filters the customer-facing catalog by what is legal in the customer's state, and carries that data straight onto the warranty certificate. If you are typing VLT into a free-text note, the tool was not built for you.

AI photo-to-quote, not a manual line-item builder

Manual quoting is the biggest time sink on the front end of a tint or PPF shop. AI photo-to-quote — where a customer sends a photo of their vehicle and the software drafts a quote in seconds — removes the 5-to-10-minute back-and-forth on every inbound lead. In 2026 this is table stakes for a high-volume shop, and spend caps per tier keep the AI cost predictable as inbound grows.

Warranty certificates that generate themselves

Years from now, a warranty dispute comes down to one question: do you have a record of which film went on which car on which day, signed by the customer? Software that auto-generates a branded warranty certificate the moment a job closes — film, VLT, install date, vehicle, customer — answers that question every time. Filing them by hand is how disputes are lost.

The rest of the checklist

Deposits collected at booking to kill no-shows; Stripe payments with card, Apple Pay, and ACH; a technician mobile app with before/after photo capture; a multi-location HQ dashboard if you run more than one bay; and brand-color theming across the portal and emails. SalesThumb is built around exactly this checklist because it came out of a real tint shop — see how we built it, or compare it against the alternatives on the SalesThumb page.

Marketing agencies

The per-client margin problem every Vendasta reseller hits

Every agency that resells Vendasta eventually hits the same wall: margin erosion they cannot see until it has already happened. The reseller model is simple — buy fulfillment at wholesale, sell at retail, keep the spread. The trap is that wholesale prices move and retail prices do not, and the gap closes silently.

Aggregate margin hides the leak

A client on three services can look healthy on average while quietly losing money on one underpriced line. The only reliable defense is per-client, per-service margin tracking in real time — comparing what Vendasta charges you against what you bill, service by service. Most agency dashboards aggregate too far and surface the problem a quarter too late.

Monthly reconciliation is already too late

If you reconcile margin in a spreadsheet at month-end, you find out about a year-long underpriced client at year-end. Automatic Vendasta wholesale-cost sync plus a live margin view means you correct the retail price on the next invoice, not twelve months from now.

Branding is the other half

Successful Vendasta resellers never let the client see Vendasta. The portal, invoices, reports, and emails all live in the agency's brand on the agency's domain. Billing should run on ACH via bank-link for the big retainers (a fraction of card fees) with automatic retries on failures. This is exactly the gap HubWho fills — read more on the HubWho page.

Window film

Why most window film visualizers lose the customer

A window film visualizer is the single biggest conversion lever on a tint shop website — and most of them are built to lose. A customer who can see their own car in 35% ceramic before booking is several times more likely to book. A customer who has to fight the tool bounces.

Click-each-window is a 2010s pattern

Legacy visualizers make the customer click on every window of their car before anything renders. Drop-off on that flow is brutal — people quit by the third window. AI window segmentation auto-detects every window in the photo and renders the full preview in sub-second. The customer's effort drops from "five clicks before you see anything" to "upload and see it."

Brand-neutral beats manufacturer-locked

Most manufacturer visualizers only show that manufacturer's film. A shop that sells more than one brand needs a visualizer that covers its whole catalog — and that lets the shop white-label the tool to its own brand, not the film maker's. Lock-in costs you conversions on every brand you carry but cannot show.

Capture the lead after the reveal

Lead capture should happen after the customer sees the render — when they are most committed — not before, when they will bounce. The handoff should include the photo, the film previewed, the VLT, and contact details, landing straight in the shop's dashboard. Vizme is built around exactly this; one line of HTML embeds it on your own site. See the Vizme page.

Part 142 aviation

What billing airlines for Part 142 training actually requires

A Part 142 training center's real customer is rarely the pilot in the simulator. It is the airline training department, the charter operator, the corporate flight department, or the Part 141 school that contracted the training. Billing that audience needs a fundamentally different model than consumer checkout — and it is where generic flight-school software falls apart.

Client accounts, not pilot accounts

Each airline or operator is a named client account; individual pilots roll up to it, and the account pays — not the pilot. Invoice aging has to be scoped per client account, with buckets at current / 30 / 60 / 90+ days.

International wire transfers, not card-on-file

Corporate flight departments pay by international wire. The platform needs SWIFT/UETR references on every transfer and a wire-transfer queue that maps received funds to open invoices automatically — plus multi-currency invoicing (EUR, AED, SGD and the rest) with live exchange rates, so a European customer pays in their currency through their normal procurement flow.

Compliance is not optional

BSA/FinCEN CTR auto-flagging on transactions at or above $10,000, OFAC sanctions screening on every counterparty, IRS Form 8300 for cash-equivalent payments, and five-year retention. Built into the data model, not bolted on at audit time. AviationAlley was designed around this Part 142 reality from day one — details on the AviationAlley page.

Want more of this in your inbox occasionally?

Get in touch