← Selected work
(2026) Builder, PM, and the only customer Personal project

BuildLog.

There used to be a slogan: "There's an app for that." Given what's possible today, it should be "You can build your own app for that." I'd never turned a wrench. I'd never written a line of code. I bought a 1977 FJ40 Land Cruiser, tore it down to the frame, and built the app I needed to put it back together. This is what that taught me about problem solving, judgment, and what AI actually does for a regular person with a problem.

ai claude-code 0-to-1 problem-solving side-project
The 1977 FJ40 under a tent with the body lifted off the frame, rolling chassis in front, tools and parts everywhere

// The situation

"How are you going to do it?" "I've got ChatGPT and YouTube."

A frame-up FJ40 restoration was something I'd always wanted to do. I'm not mechanical. I'd never worked on a car in my life. So when people heard about the project, the question was always the same: how, exactly, are you going to do this? That was my honest answer. A chatbot and a video library.

AI was in the loop before I owned the truck. Every candidate that came across Facebook Marketplace went through it: what's been done, what's actually listed versus what's implied, what it's going to cost to finish. That's how I picked the vehicle. Not with a mechanic. With a prompt.

There was also an ulterior motive. I wanted to find out whether a product person with no engineering team could build a fully functional app, real database and all, from the ground up, tuned to exactly how one person works. The truck was the excuse. The app was the experiment.

Sourcing the truck with a prompt.

Top: the listing. Bottom: AI helping me answer the question that comes before any part: what kind of truck do I actually want? Fifty years of prior owners means every listing is part truth, part optimism. Running each one through the same analysis, and pressure-testing the build direction against it, turned a gut-feel purchase into a decision I could defend.

The Facebook Marketplace listing for the 1977 FJ40 in Helena, Montana
AI-generated build direction options for the FJ40, including a modern resto-mod cruiser spec

// The old way

Find an app. Pay for it. Hope it does 60% of what you need.

That's been the drill for everyone, forever. You go hunting for software. Maybe it's free, maybe it isn't. Maybe it fits, usually it half-fits. Then you bend your process to match the tool, because the tool was built for the greatest number of people and you are not the greatest number of people.

I wanted to see what happened if I skipped that step entirely.

// The build

Ask me questions. Make suggestions. Tell me what I'm missing.

I ran it like a product. I opened Claude Code, described the problem, and told it to interview me and push back. What am I trying to do? Who is it for? What does done look like? The same discovery you'd run with any team, except the team was a terminal window.

Then came several weeks of back-and-forth learning things I'd never touched. What a terminal is. How GitHub works. How to stand up a database in Supabase. How to deploy. Claude walked me through every step, one "okay, what's next?" at a time.

Meanwhile, in the garage: boxes were showing up every day and I had no memory of what was in them. I ordered a part twice because I couldn't remember ordering it once. I was running a parts supply chain out of my head, and my head had already been fired. The app exists because of that.

The FJ40 engine bay as bought: original inline-six, battery, and fifty years of hoses and wiring
Rear floor of the FJ40 with the seats out, rusted through to the frame
Jarad in overalls in the tent with the stripped FJ40 body behind him
Front end of the FJ40 with the hood, grille, and fenders removed, engine exposed
The original FJ40 dashboard: speedometer, pull knobs for choke and heat, and an AM radio

Clockwise from left: the engine as bought, a floor that was mostly an idea, the guy with no idea what he's doing, the front end coming apart, and a dashboard with more holes than switches.

MacBook on the workbench with Claude Code open, walking through a BuildLog redesign step by step
The engineering team, pictured. It has never once asked for a raise, and it has never once been wrong in a way it didn't sound sure about.

// What I built

BuildLog.

One app, built for one customer, used in the garage while it was being built. Parts, money, memory, and an AI that knows what things are called.

The Dashboard.

One screen, the whole build. Budget against actual (over, obviously), how much of the parts pipeline is installed versus ordered versus still sourcing, and the latest journal entries. It's the first thing I open in the garage and the last thing I check at night, usually with regret.

BuildLog dashboard: budget at $25,754 spent, parts pipeline 11 of 25 installed, journal and spend tabs

Parts Pipeline.

Every part moves through five stages: needs, pending, ordered, received, installed. Dates at each step, lead time calculated, an activity log underneath. This is the "did I already order this" problem, solved. It is also the feature I would have paid the most for and the one no off-the-shelf app had the way I needed it.

BuildLog parts detail: a windshield weatherstrip moving through Needs, Pending, Ordered, Received, Installed with dates and lead time

Expenses.

Every receipt, every dollar, one place, tied to the part it paid for. Also the feature I most regret building, because now I know the number. Look closely at the list and you'll see the wiper motor twice, the headlight kit twice, the hood latch twice. That's not a logging bug. That's the before picture.

BuildLog spend log: $22,304 across 49 expenses, several parts listed twice

Build Journal.

Photos and video at every stage, tagged by system. You think you'll remember how it came apart. Months later, standing over a pile of brackets, you will not. The journal is how it goes back together. Left: the journal. Right: the "side panels and hood" entry in person, the first day the truck looked like it might actually happen.

BuildLog build journal: entries for the oak wood floor and the repainted side panels and hood
The FJ40 hood and side panels in fresh gray-blue paint, windshield folded up, rest of the truck still in pieces behind it

The AI Assistant.

It knows the build: budget, parts, what's installed. Switch it to Identify, attach a photo, and it tells you what the thing is called so you can actually order it. It is remarkably hard to search for a part when you have no idea what it's called. Left: the conversation. Right: the part in question, photographed with the confidence of a man who has no idea what it is.

BuildLog AI assistant in Identify Part mode with a photo of an unknown engine-bay bracket
Close-up of an unidentified stamped-metal bracket in the FJ40 engine bay, next to a corrugated hose

// Where AI led me wrong

A 50-year-old truck doesn't follow the manual.

AI worked, right up until it didn't. Electrical was the worst of it. Fifty years of different owners doing things their own way means nothing on this truck conforms to the standard the AI was trained on. It sent me confidently down the wrong path more than once, and a few times I had to bring in a professional to undo what I'd done and sort it out properly.

The same thing happened in the code. Corrupted files. A login race condition. A stale config that quietly broke production sign-in. Every one of them came down to diagnosing, isolating, and fixing, not prompting harder.

AI is a tool. Without your context and your judgment, it will take you somewhere wrong, fast. Critical thinking and perseverance are the actual job. So is knowing when to stop trusting the answer and call someone who knows.

Inside the FJ40 firewall: a rusted wiring harness, mismatched connectors, and hand-spliced wires in a dozen colors
Fifty years of "improvements" by people who are not here to explain them.

// The loop

Real-world use never matches the plan. Now that's fine.

I was using the app in the garage while it was being built. When something didn't work the way I'd assumed, like expenses not matching the parts I'd actually bought, I'd walk to the laptop, tell Claude Code what was wrong, push the change, test it on my phone, and walk back to the garage. A few prompts. Same day.

As the customer, I got exactly what I wanted. As the PM, I got the fastest feedback loop I've ever had.

An amplifier on the workbench, DIP switches and wiring exposed, waiting to be figured out
Wired it. Now what?
MacBook on a workbench with Claude Code open, describing changes to the BuildLog app
Walk to the laptop. Tell Claude.
BuildLog edit-expense screen on the phone, updating a State Street Automotive entry
Push. Test it on the phone.
Back at the control module in the garage
Back to the garage. Repeat.

// What it produced

One customer. One engineer. Zero prior experience at either.

0
Prior car restorations.
0
Prior lines of code.
1
Engineer. Me, plus Claude.
2 weeks
First prompt to deployed app.
75
Parts tracked through the pipeline.
$22K+
Logged across 49 expenses. The number I regret knowing.
35
Journal entries, with photos and video.
4
Parts that appear twice in the expense log. Not a logging bug.
Live
Deployed, in daily use, still changing.

// Why this matters beyond my garage

Every company has an FJ40.

Companies pay for software that does 50 to 60% of what they need and bend their process around the rest. Request a feature and wait six to eight months, if you're big enough to be on the roadmap at all. Most companies aren't.

Ticketing. Design review. Onboarding. Internal ops. Every company's process is different, and for the first time there is every reason to build the tool around the process instead of the reverse. Not a platform play. Not a six-figure implementation. A clear problem statement, a person with judgment, and a few weeks.

That is the framing I bring to product leadership now: AI as the layer that lets teams build their own tools, and a world where users become builders.

// What it proves

Three things I took out of the garage.

Product is problem solving. Some problems are harder than others. You break them down, get into the details, and never lose sight of what you're going for. What kind of truck? What's it for? Daily driver, trail rig, weekend cruiser? You can't choose a suspension until you answer that, and you can't choose a feature until you know who it's for. When I hire, I look for how people solve problems outside of work. Builders. Coaches. People who fix things.

There's no substitute for hands-on. Doing something you've never done, that you're not good at, that you're a little afraid of. Days at a computer make you forget how much you learn by making a physical thing work. It was also, if I'm honest, the most cathartic thing I've done in years.

AI is a powerful tool, and only a tool. If you know the problem and know the customer, it accelerates everything. If you don't, it accelerates you into the wrong answer.

Jarad Hull Builder, BuildLog. Still learning what parts are called.
The finished FJ40 from the front: gray-blue paint, white grille, winch bumper, BFGoodrich all-terrains, doors off
The finished FJ40 in profile: roll cage, saddle-brown seats, rear-mounted spare, parked in the sun

Frame up. Every part of it logged. Still learning what some of them are called.

// Keep going

Looking for a product leader who builds with AI instead of talking about it?