Field Notes
Carlos's build-in-public journal — building Moon Rhino in the open.
Jun 6, 2026 · Studio
The seam is the whole trick
What porting a cinematic into a live desktop taught me about where craft actually lives.
We spent the most time on the moment nobody is supposed to notice — the half-second where the intro’s camera flight stops being a movie and becomes your wallpaper. If the descent doesn’t land on the exact frame the desktop wakes up on, the whole illusion snaps.
The fix wasn’t a clever transition. It was making the last frame of the cinematic and the first frame of the desktop the *same* frame, by construction: one scene, one camera, the flight’s final keyframe IS the resting pose. The cut is invisible because there’s nothing to cut.
That’s the pattern everywhere. The craft isn’t in the two things, it’s in the seam between them. Find the handoff, make it a contract instead of a hope, and the product stops feeling assembled.
— Carlos
Jun 4, 2026 · Building
A standard you can’t measure is a wish
We kept saying “it has to run all day without bogging down.” Then we made the computer prove it.
Everyone says their app is fast. We wanted a desktop you could leave open for days, so we wrote down the actual claim: when nothing is happening, schedule zero animation frames and draw nothing. Then we built a gate that loads the app, waits for it to settle, and fails the build if it’s lying.
It caught us twice in its first hour — a music visualizer still spinning at 60fps while paused, and a scene we’d measured before it finished settling. Both were invisible to the eye and obvious to the meter.
A bar you state in a meeting is a vibe. A bar a machine enforces on every change is a standard. If you’re serious about something, instrument it — otherwise you mean it right up until the day you ship the thing that breaks it.
— Carlos
Jun 2, 2026 · Agents
Review it like you’re trying to break it
How we get AI to check its own work without grading on a curve.
Ask a model to review code it just wrote and it tends to congratulate itself. So we stopped asking it to “review” and started asking it to *refute* — independent skeptics whose job is to prove a finding is real, defaulting to “not a bug” unless they can point at the exact line that breaks.
It changes the output completely. The flattering findings evaporate; the real ones survive because someone tried to kill them and couldn’t. On the last big change, twenty-eight findings collapsed to seven — and the seven were honest.
It’s the same thing we tell founders about agents: bounded skepticism beats vague confidence. Don’t ask the system whether it did well. Make it earn the verdict.
— Carlos
May 31, 2026 · Studio
Naming is a forcing function
Why "MoonBase" beat "Mission Control" — and what that taught us about the whole product.
We almost shipped "Mission Control" as the name for the home surface. It tested fine. People nodded. Then Peck pointed out the obvious: it’s borrowed language. NASA’s, Apple’s — anyone’s but ours.
So we renamed it MoonBase. Every primary surface is now a "Moon-" place: MoonBase, MoonMix, MoonPaint, Moonshot. The rename took an afternoon. But it forced a deeper question — if the names have to be ours, what else are we borrowing?
That’s the real value of a naming pass. It’s never about the word. It’s a flashlight you point at every lazy default you’ve been carrying.
— Carlos
May 28, 2026 · Building
The wedge is a customer, not a feature
The most common note we give founders, written down so I stop repeating it.
When someone pitches us, the idea is usually good. The market is usually big. What’s usually missing is the wedge — the specific person, on a specific day, who will drop what they’re doing to use this.
A wedge is not "small businesses." It’s "the bookkeeper at a 12-person HVAC company on the last Friday of the month." When you can name them that precisely, the product designs itself and the GTM stops being a mystery.
If you can’t name them yet, that’s fine — it just means the next two weeks of work is conversations, not code.
— Carlos
May 24, 2026 · Agents
Agents need a harness, not a leash
What changed once we treated reliability as a design problem.
Early on we kept trying to make the agent "smarter." Wrong knob. Reliability came from the harness around it: a clear task, the right tools, scoped permissions, real evals, and a feedback loop a human could read.
Once the harness was good, a smaller model did the job. The lesson generalizes: vague autonomy is fragile; bounded autonomy compounds. We build the boundary first, then hand over the keys inside it.
— Carlos
May 19, 2026 · Distribution
When software is cheap, distribution is the moat
The uncomfortable truth about building in the age of infinite software.
If anyone can generate the app in an afternoon, the app is not the asset. Access is. Trust is. Taste is. The scarce things moved.
So we ask every team: before you build, who already has the attention of your wedge customer, and how do you earn a slice of it honestly? Sometimes the answer reshapes the product. Good. Better to learn it now than after launch.
— Carlos
May 14, 2026 · Studio
Build in public, but build
Why these notes exist — and the rule that keeps them honest.
Field Notes is our build-in-public log. The rule: every note has to be downstream of real work. No thought-leadership for its own sake, no posting to look busy.
The point isn’t the audience. It’s the discipline — writing forces clarity, and clarity is the cheapest leverage in the building. If a note is hard to write, the underlying thinking isn’t done.
— Carlos
May 9, 2026 · Judgment
Human judgment is the product
Autonomous companies still need someone to decide what "good" means.
The more of the company the agents run, the more the few human decisions matter: what to aim at, what tradeoffs to accept, where the line is, who is accountable when it breaks.
We don’t want founders babysitting agents. We want them doing the irreducible human work — setting the goal and owning the call — and letting the harness do the rest.
— Carlos
May 2, 2026 · Studio
A desktop people return to
What we’re actually building with Moon Rhino OS.
The website is a desktop because a desktop is a place, not a page. You can keep a window open. Leave a sticky. Come back tomorrow and the room remembers you.
That’s the whole bet: be useful enough to return to daily — for the value and the joy — and the rest follows. The brand is the proof that we sweat the details. The product is the proof we ship.
— Carlos