Millyweb DevelopmentMillyweb

The systems side

The main page is for owners who want their quoting and booking handled. This one is for people who want to see how I build: the infrastructure underneath, how a job runs, and what I’m looking for if you’re hiring.

Back to the main page

How a job runs

I build with AI the way I ran crews. Clear scope up front, and somebody checks the work at the customer’s door.

  1. We talk it through. What breaks if we don’t build this? Does something you already pay for do it?
  2. I write it down. What it does, what it doesn’t, and what “done” means. You sign off.
  3. One piece at a time. Nothing half-built piles up.
  4. It has to pass a check. Code and security checks run before anything goes live. If they fail, it doesn’t ship.
  5. You try it on your phone. The next piece waits until you say this one works.
  6. Notes stay with the project. Whoever touches it next, me or anyone else, knows what happened.

When something breaks in a way that wasn’t obvious, I write down what happened, the proof, and the fix. I call them scars, and they come up before anyone works on that part again. Here’s a real one, trimmed:

kind      gotcha
where     cloudflare pages deploy
claim     Deploy reports success, site never updates.
evidence  Repo on master, production branch is main.
          Every push lands as a preview.
fix       Always deploy with --branch=main, then
          check the live URL, not the tool output.

What’s running now

Everything here is live. I’ve put what went wrong next to each one.

Confidence Moving Labor homepage with an instant job estimate
confidencemove.com

Confidence Moving Labor

My own company, rebuilt so someone can get a real number without waiting for me to call back. The estimate works the way I quote on the phone: load, unload or both, truck size, stairs and elevators, anything over 200 pounds, and drive time. Pricing is per mover and shows what goes to wages, insurance and margin.

Anything over four bedrooms gets an in-person look. The hour math stops being honest past that, and I’d rather say so.

What broke: deploys said they succeeded and the live site never changed. The code was on one branch and the host was publishing another, so every update went to a hidden preview. Now every deploy names the branch and gets checked on the real address.

confidencemove.com

Mesh Controller public build log
gocontroller.app, the public build log

Mesh Controller

The system everything else here runs on. Four servers, 60-some containers, and one gateway that lets AI agents use about 680 tools without drowning in them. Agents see 16 tools up front and search for the rest by what they do.

Every change has to pass a check before it deploys, and a daily report flags the problems that don’t throw errors. One of those checks cut a health scan from 11.4 seconds to 4.25, mostly by measuring first. My first guess about what was slow was wrong.

What broke: the very first run of that check found a command endpoint open to the internet with no password. It was closed the same day and tested from both sides. Later a binary swap failed silently and locked us out until I could get in through the host’s web console. There’s a written procedure for that now.

gocontroller.app

Other things I’ve built

RevenueFirst.aiFollow-up for service businesses, so a lead keeps hearing from you until it books or says noLive
Gutters & LightsOne site for two seasons. The side that leads changes with the calendarLive
AOS FilesPacific Northwest history and investigations, with a case file templateLive
Helix and MemBrainA memory layer for AI assistants: a Chrome extension plus a knowledge base on my own serversLive
Just Little StepsSite and booking for a childcare business in McMinnville and NewbergLive
Lead pipelinePulls Oregon’s 55,802 licensed contractors and maps data into scored leads, about $2.42 a runRuns on my servers

If you’re hiring

I’m open to remote implementation and delivery work. I’ve been the non-technical customer, I’ve run a payroll, and I ship working systems with real process around them. The work above is the evidence, failures included.

Ask me for a résumé at ryan@millyweb.com, or find me on LinkedIn and GitHub.

  • Implementation consultant
  • Solutions consultant
  • Technical account manager
  • AI program or project manager

Day to day: Claude and other LLM agents, MCP, n8n, Go and Python, Docker and Linux, Postgres, Cloudflare, Twilio, CRM integrations. Studying for Security+.