I built the same idea seven times in twenty‑four years.
Each time in a new language, for a harder problem, because the problem never changed: somebody was doing by hand what a system should have been doing for them.
The through-line
2002
mySite
A district with eight schools and no way for any of them to change their own pages. I was seventeen and still a student there. So I built a form: the school secretary filled in the principal's name, the phone number, the start and end times as radio buttons holding the three real answers, and it wrote the page back out. Two weeks start to finish. It cost nothing. Then I ran a session every month for any teacher who wanted to come, which is where the design actually got tested, because you find out very quickly which label is wrong when you are watching eight people fail at the same field.
Rewritten in ASP.NET about three weeks after I came back to the district. It opened on a screen the first version never needed: Choose a site below to begin your editing session. One login across many sites, each showing when it was last updated, with a preview step before publishing. That is the version that outlived the school district. Through my freelance years the same bones got re-skinned client after client.
2006
Imagine
The first one that shipped to somebody who was not a school. It went live on 22 December 2006, managing thirty pages of a national car rental company's public website. I know the exact date because the software recorded it itself, and those rows are still in the database twenty years later.
Not a website. A reusable application shell (login, session security, a status and error library, roles, chrome) with per-client feature modules dropped into it. The proof it was a platform rather than a one-off is mechanical: across two completely unrelated deployments those shell files are byte-identical. The same codebase ran a rental brand's customer complaint system and a sweepstakes back office.
The productized one. It had a name in the browser title bar, two logotypes I drew, a version number printed in the chrome, and five releases. Around twenty client sites over six years, white-labeled so the client's logo sat at the top and mine went in the footer. The admin files are byte-identical across unrelated clients, which is what makes it a product with a deployment procedure rather than a folder I copied around.
One wheel record becomes a finished eBay and WooCommerce listing in minutes instead of hours. It has run the business for fourteen years, and a second retailer licensed it and ran it as a paying customer on their own tenancy. Same conviction as the school form in 2002, aimed at a harder problem.
AllOEMRims is winding down. The conviction is not. I am still doing the same thing: finding the work that repeats, building the system that absorbs it, and handing the controls to whoever is closest to the job.
I never copied the code forward. Every one was rebuilt from scratch, in whatever language the era gave me. What carried was the judgment: find the work that repeats, build the system that absorbs it, and hand the controls to the person closest to the job.
30 years
designing and shipping, since 1996
14 years
owning one product end to end
~20 sites
running a CMS I wrote myself
13,000+
orders through a ledger I built
The case studies below are the long ones. Each is a system I designed, built, and then lived with. The first for fourteen years.
Fourteen years of one system running a real business.
AllOEMRims sells factory-original wheels. I have been designing and building the software that runs it since 2012: the storefront, the warehouse tools, the listing pipeline, and the ledger that ties it together.
Five years shaping how a national rental brand looked, sold, and worked.
I originated the marketing campaigns that turned the business around, then kept building: the corporate site, the sub-brand sites, and the intranet the whole company ran on.
One system connecting renters, franchisees, and the corporate office.
At Payless Car Rental I built the system that connected renters, franchisees, and the corporate office: one ticket per issue, one place to resolve it. It stayed in use for years after I left.
I was still a student in the district when I started rebuilding its website.
I built my school district's first real website while I was still a student in it, plus the publishing system eight schools used to run their own pages.
One CMS, rebuilt three times, for whoever walked in the door.
I spent a decade building the same thing for different businesses: a way for the person who knows what needs to change to change it without writing code.
Four audiences, one site, and a design system to keep them apart.
A 2008 portal for people building a house: find a lot, a builder, a developer and a mortgage in one place, with a color system keeping four audiences oriented.
Custom software for businesses that don’t have a tech team.
Hi, I’m Justin. I design and build custom software for online businesses, professional service firms, and independent operators who need something built and don’t have engineers to build it.
Most small businesses run on a tangle of spreadsheets, email threads, and off-the-shelf software that almost fits but never quite. I learn how your business actually works, then I build the tool that takes the friction away. The cost and timeline look more like one person than a five-person agency.
Every project starts the same way. Somebody tells me how their business works, and before they’ve finished I can see the screens. That has never changed. I used to end those meetings wanting to get straight home and start building.
What changed is the middle. The picture in my head arrives complete and all at once. Language does not. It arrives one piece at a time and it drops whatever you forget to say. So the work is translation: every element, where it sits, what it sits next to, what it does when someone touches it, what it looks like when it’s empty, and what happens when it fails. Nothing carries over that I don’t name.
That’s where the design actually happens now. Not in a tool, in the translation. And the discipline is not describing what I see, it’s noticing what I haven’t described yet.
The first thing I usually have built is a tool rather than the thing itself. Every system has a job buried in it that repeats a few thousand times, and building the thing that does it is cheaper than paying for it by hand forever. I’ve spent almost thirty years doing that for other people’s businesses. A few years ago I started doing it for my own work too. If I can’t say exactly what something is, it doesn’t exist yet.
What I build. Internal tools, order management systems, customer-facing web apps, workflow automation, integrations between the tools you already use, custom analytics, and a lot of things that don’t fit neatly in any category.
How to work with me. Send me an email at hello@iamjust.in. Tell me about your business and what’s slowing it down. If I’m the right person for the problem, I’ll come back with a scope and a quote. If I’m not, I’ll usually know who is.