Victor is the best mechanic I know. He came up through dealerships before opening his own shop, and he thinks like an owner rather than a technician. None of which has anything to do with running the back end of an online business, a completely different trade nobody expects a shop owner to have already learned. He and his assistant Kevin still fix cars every day. What follows is the second business we built alongside that one.
- 35k+products live, priced and stocked without anyone maintaining them
- 6hbetween full pricing, stock and integrity passes
- 0extra hires, warehouse space or square footage required
Where the opportunity came from
As the shop grew, Victor kept buying more from his distributors, and past a certain volume that relationship changes shape. Eventually they offer dealer terms, which means you can resell their catalog rather than only buying out of it.
It is a real opportunity handed to somebody with no obvious way to take it, because selling parts online is not a mechanical problem. It is a data problem, an inventory problem, a pricing problem and a fitment problem all at once, and none of those are things a shop owner has any reason to already know how to solve. A local shop can only ever sell to people who can physically drive to it, whereas the same distributor relationships pointed at a storefront reach the entire country.
How we ended up working together again
I have known Victor since high school and Kevin for about seven years, so none of this started as a client relationship. It became one when he reached out and I built the shop its first website, on Wix, which was only ever meant to give a local business that builds cars somewhere to exist online. Selling parts was not on anybody's mind at that point, and the site was never built for it.
When the parts opportunity did arrive he took the store build to somebody else, and I genuinely do not hold that against him. There was a gap of two or three years, and the version of me back then could not have built what this turned into. Neither could the tools. Most of the capability behind it, mine and the technology's both, has arrived in the last several months; the models simply were not good enough for this before.
What he got back was a store that looked finished and was not. To anyone who did not know what to check it presented perfectly well, which is the worst possible failure mode, because he is not a technical person and had no way to diagnose it, no way to fix it, and no way to judge whether the next person would do any better. Paying for something, seeing that it is wrong, and being unable to describe the problem precisely enough for anyone to solve it is a genuinely miserable position.
Where the data was coming from
The catalog was being fed from two directions and both of them leaked.
- The distributor's own integration handled their products at $150 a month. It was not doing nothing, which is part of why the problem went unnoticed for so long, since it pulled in a decent number of products and got some of the data right. It also silently skipped a great many products it should have imported, and the prices it did bring across were not reliably correct.
- Everything else arrived as spreadsheets, sent by hand whenever a supplier felt like sending one. No two were formatted the same way, none of them matched the structure Shopify actually wants, and reshaping each one into something importable was a job in itself before a single number could be trusted.
Car parts add a dimension most e-commerce never has to think about. Beyond price and stock there is fitment, the question of whether a given part actually goes on a given car, and it has to stay correct across every year, make, model and trim in the catalog. Selling somebody a part that does not fit is functionally the same as selling them nothing, except now you also have a return, a refund, and a customer who will not come back.
Holding price, stock and fitment together by hand, out of a stack of differently shaped spreadsheets that go stale the moment they are sent, is not something anyone can do properly at thirty-five thousand products. What resulted was specific and expensive: a part's cost would rise without warning, the store kept selling at the old price, and nobody found out until the order came in and Victor went to buy it. By then the choice was to fill it at a loss or cancel on a customer who had done nothing wrong.
Owning the integration instead of renting it
The obvious move was to fix what was already there. The better one turned out to be replacing it, because the same distributor offers something considerably more useful than an app: API access. One key, and everything that app was supposed to do becomes something you can build properly and then keep.
What we built reads live cost, live stock and the exact minimum advertised price straight from the source and writes them to the store, handling fitment in the same pass. It does the job more completely than the product it replaced, and there is no software license attached to it at all. The only running cost is about $30 a month for the server it lives on, which I absorb, because I run that machine anyway for everything else I build on.
Reading the API properly also cleared up a mystery. Prices coming out of the old setup sat slightly above the distributor's published figures by amounts nobody could account for, and the working assumption was that somebody was skimming. Nobody was. It turned out to be a real, documented, per-brand dropship charge that some manufacturers levy and others do not, which the app had been quietly folding into retail. Once the number was visible it stopped being a grievance and became a decision, brand by brand, about whether to absorb it or pass it on.
Summer
The agent that runs the catalog is called Summer, which stands for Sunset's Unified Merchandising, Margin and Ecommerce Runner. Yes, that was reverse-engineered to spell something, and I am not sorry about it. She lives on a server rather than anyone's desktop, because a business that only reconciles itself when a particular laptop happens to be open is not really reconciled at all. Nobody has to be awake, at a computer, or thinking about it.
Every six hours she does the same four things in the same order, and the fourth is the one I am proudest of.
That is Summer from the outside. The diagram below is the same thing drawn as plumbing, because the two answer different questions: one shows you what she is, the other shows you where the data actually goes and who gets told when it stops.
- Price every SKU to its minimum advertised price, exactly rather than approximately, because distributors enforce MAP and drifting under it is the kind of thing that costs a dealer account.
- Reconcile stock, stopping the sale of anything that has gone out of stock rather than taking the order and apologizing afterwards.
- Absorb new products into the same loop. This began as a separate repair script I would run whenever something looked off, until Victor asked the obvious question of why that was not simply part of every cycle. He was right. A repair tool you have to remember to run is a bug with a user manual.
- Audit her own inputs. Dimensions, weights, titles and fitment data all get checked for anything stale or self-contradictory, and it gets flagged before it can be acted on.
A watchdog sits outside all of it and messages a human if a cycle is missed or a stage halts, because silence from an automated system is not evidence that it is working. It is the most common way these things fail unnoticed for a week.
What stays manual on purpose
Victor still handles stockout races, freight quotes that come back wrong, damaged shipments and substitutions, all of which need judgment rather than rules. The system stages those decisions by flagging them, drafting a response and putting the numbers in front of him, and he makes the call.
Refunds and cancellations stay human-approved permanently, by design. Money leaving an account is not somewhere I want an agent acting unsupervised, however good it gets.
What this actually bought them
Importing tens of thousands of products, keeping their prices right, watching stock, holding fitment together and catching bad data before it reaches a customer is normally a department. At absolute minimum it is a full-time person, realistically several, plus the software they need to do it.
Sunset added a national parts business without adding any of that. No warehouse, because the distributor ships direct. No hire, because the reconciliation runs itself. No second location and no extra square footage. Victor and Kevin are still in the shop doing the work they are genuinely world-class at while a second business runs alongside it, and that was always the point. The store was never meant to replace the shop. It was meant to stop the shop being the only thing that could ever earn.
It is live, so the fairest thing I can offer is that you go and use it. sunsetperformancefl.com. Search a part, pick a car, see whether the prices and the fitment behave the way you would expect, and tell me what you think.
The arrangement, and what came out of it
Victor does not pay me a retainer. I hold a percentage of the store's profit, he owns the majority, and we are building it as a long-term thing rather than a project with an invoice stapled to the end. He is also building my race car, which is less of a side note than it sounds.
The car will carry both companies' branding and get used as marketing by both of us. Drifting is an intensely visual sport that puts a lot of eyes on whatever is painted down the side of a car, which is good for the store, good for this consulting business and good for my driving. Getting further into racing is a large part of why I started NVZN in the first place. I want to help owners build things that actually work, and I want the work to fund a garage.
The honest reason this build went as deep as it did is that no monthly retainer could have justified the engineering hours in it. Nobody would have paid for that up front and I would not have asked them to.
FAQ
Questions about this build
Does the shop still operate, or did this replace it?
It very much still operates and it is still the core of the business. The parts store was built as a second revenue stream specifically so it would not need any of the shop's time or attention. Victor and Kevin are in the bay, not managing a catalog.
Do I need thirty-five thousand products for any of this to be relevant?
No. The threshold is not catalog size, it is whether you can still personally notice when something is wrong. Past a few hundred products nobody can, and at that point either a system is checking prices and stock or nothing is. The mechanism is the same at 500 SKUs as at 35,000.
Can I have this for my store?
Yes, and it is becoming one of the main things I build. If your supplier has an API the same approach applies whatever you sell. It runs as a build fee, a monthly retainer and a share of store profit. The one exception is that I will not build it for a direct competitor of an existing client.
Is any of this using AI to make decisions about my pricing?
Almost none of it, deliberately. Pricing to MAP and reconciling stock are deterministic rules, and rules are more reliable and far cheaper than a model. Judgment gets applied where judgment is genuinely needed, such as reviewing an order that looks wrong before it ships, and everything else is plain code that does the same thing every time.
Why build your own integration instead of using the supplier's app?
Renting means paying every month for something that decides your pricing in a black box and cannot be extended when the business needs it to do something new. Getting started needed one API key and the rest was built in-house. It now does the job more completely than the off-the-shelf product, and the store owns it outright.
Could you run this against a supplier who only sends spreadsheets?
I would rather not, and I will say so early. A spreadsheet is out of date the moment it is exported, and automating on top of stale data industrializes the error instead of fixing it. If a distributor has no API, my honest advice is to find one who does.
Something here sound like your situation?
Tell me what is going on and I will tell you honestly where I would look first.
Let's Talk