Pablo IO building in the open

pabloio

I build small AI-native companies in public.

Real name on the work. This is the workbench, not the storefront. Watch the operating system get built. I publish the motion, receipts and all.

as of 2026-09-30 · every claim carries a price or a date

Builds

Each one carries a status, because a status is a claim and a claim needs a state. A price is what is on sale, never what has sold.

  1. 01VCdeepInvestor-intelligence reports. Send the round, get the map back.live$790 / report
  2. 02WingcalmFear-of-flying companion. Works in airplane mode.live$29 once
  3. 03End of ShameFree test surfaces the pattern. The protocol is the paid work.livefree test · $29
  4. 04dotheshitApp locker. One ring timer, no exit.liveAndroid free · iOS in review
  5. 05nocalcuTwo minutes of mental math, every day.livefree
  6. 06Year of ClarityA book. On Amazon since 2024-12.live$4.99 Kindle · $24 paper
  7. 07The Market for Your ImaginationA 150-page visual book, written and designed.awaiting printawaiting print
  8. 08/outputA podcast produced through one pipeline, end to end.liveweekly
  9. 09The DividendAn interactive essay that de-optimises as you read it.livefree

Three more, free, in the browser: Tiro Libre · World Cup 26 · The AI Kitchen.

Project can have a brand. Proof attaches to Pablo IO.

The brands scatter outward. Wingcalm helps someone breathe on a plane without my biography. VCdeep hands a founder a map of the room. Each keeps its own name. The proof points back to one place, and one name holds the ledger.

Proof

Receipts, dated. Revenue when there is revenue, the zero when there is not. This is the account that does not get to lie.

  • 2026-09-17end of shameV3 shipped, audio first. Press play, write, say it.$29 · four nights
  • 2026-08-26wingcalmTikTok posting moved to a server cron. Gate first, re-airs second.self-running
  • 2026-08-18dotheshitiOS 1.0 submitted to App Review. Manual release.€8.99 · waiting
  • 2026-08-03all brandsStripe checked. 19 products, 56 live payment links.€0.00 to date
  • 2026-07-09wingcalmWindow Seat newsletter engine live. Worker plus D1, double opt-in.61 issues pooled
  • 2026-07-07all brandsStripe sale bell armed. Emails on every purchase, free ones included.verified end to end
  • 2026-07-04end of shameIdea to live checkout in one day. A $29 protocol behind a free test.$29
  • 2026-07-04pabloioTwo $29 payment links live. Revenue to date shown, never hidden.€0.00
  • 2026-04-12/outputEpisode one published. One pipeline, synthesized voice.EP01 on Spotify
  • 2024-12year of clarityPublished on KDP. Kindle, paperback, hardcover.$4.99 · $24 · $33

The operating system

1idea
2build
3ship
4measure
5learn
6compound

One loop runs under every project. The projects are replaceable. The loop is permanent, and it keeps running after any single company is retired. Each contestant gets the same test: $100, thirty days, five angles. About thirty percent gets discarded after the money is spent.

If you build small companies and want a second operator in the room, write to me.

identity spec · retouch 01

Violet

The live system, kept: night ground, warm white, lime as the signal, the dot field, the glow, the magnetic button. Added: ultraviolet as the interactive colour so lime stops doing two jobs, ember for waiting states, and a mark drawn from the field itself.

Logo · current

Pablo IOring mark + mono wordmark, as live
Pablo IOon lime the ring disappears

The live mark is a lime ring with a breathing centre and two orbiting dots, and the wordmark is JetBrains Mono with the IO in lime. The ring reads as a planet or a loading state, carries no letter, and fails on lime. The wordmark is fine and stays as the fallback in running text.

Logo · proposed

Pablo IOon ground
Pablo IOon lime
Pablo IOon the secondary
favicon · app icon · 56 / 32 / 16

The field mark: nine dots, one lit. The live page is already a field of dots that wake up near the cursor. The mark is that field reduced to its smallest true form, a three by three grid with the centre lit lime. It is the signal in the field, which is what the site is about. It survives at 16px, needs no letter, and belongs to this brand alone.

  • Wordmark stays PABLO IO in JetBrains Mono 600, 0.15em, uppercase, IO in lime, exactly as locked in March.
  • Lockup: mark, 12px gap, wordmark. Clear space equals one grid cell. Minimum: mark 16px, lockup 96px.
  • On lime the lit dot turns white and the rest turn ink. On the secondary the lit dot stays lime.
  • The mark never orbits, never spins, never gets a gradient. The hero halo stays; it belongs to the field, not the mark.

Colour

ground #0b0b0bunchanged
surface #131313unchanged · proof, spec
border #1f1f1funchanged
text #f5f5f0unchanged · warm white
muted #9a9a94unchanged · 6.9:1 on ground
signal #d0ff00unchanged · status, one CTA, selection, focus
secondary #7c6cffnew · links, hover, the second button · on ground 5.1:1
accent #ff5533new · waiting states, alerts · on ground 6.2:1

Ultraviolet is the interactive colour: links in body text, hover on names, the outlined second button, nothing else. It is lime's complement on screen, so the two never fight and lime keeps meaning one thing: a live state or the one action. Ember is the accent for anything waiting or wrong: an app in review, a build awaiting print, a failed check. Both are used as text or thin rules, never as fills.

Typography

  • display · anton 400 · 44 to 104px · uppercaseBuilt in public.
  • section · anton 400 · 32 to 51pxProof
  • item · inter 800 · 18 to 22px · -0.02emEnd of Shame
  • body · inter 400 · 16px / 1.5Real name on the work. Every claim on this page carries a price or a date.
  • label · jetbrains mono 500 · 11px · 0.2embuilding in the open · checked 2026-08-03

Nothing changes in the faces. Anton keeps the hero and the section heads, Inter carries names and body, JetBrains Mono carries labels and receipts. The retouch is the scale: a five-step ladder instead of the ad-hoc sizes on the live page, and the mono label settles at 11px / 0.2em everywhere.

Copy

The voice does not change. Declarative, first person, receipts before adjectives. The retouch only changes what carries it. Canonical lines stay canonical:

  • I build small AI-native companies in public.
  • Real name on the work.
  • Follow the build.
  • Likes lie. Comments lie. Stripe doesn't.
  • Project can have a brand. Proof attaches to Pablo IO.

Never: hype, hedges, em-dashes, emoji, the reframe pattern, a sentence that consults or teaches. Lime never carries a sentence. Violet never carries a headline either; it lives on links and buttons only.

Devices

  • The dot field. Kept as is: the lime grid that wakes near the cursor and breathes around the centre.
  • The cursor glow and the vignette. Kept as is.
  • The magnetic skew button. Kept as is, one per page, always lime, always saying where it goes.
  • Status dots. Lime with a ping for live, white for running, a hollow accent ring for waiting. The only place the accent appears by default.
  • The second button. Outlined in violet, filled on hover. It points inward (the receipts), never outward.

Do / don't

Do

  • Keep the seven live tokens exactly.
  • Use violet only where a click happens.
  • Use ember only on a waiting or failed state.
  • Print the zero in lime, dated.

Don't

  • Violet or ember as a fill, a gradient, or a headline.
  • Two lime elements competing on one screen.
  • The old ring anywhere the new mark can go.
  • Rounded corners above 22px, shadows without a lime source.

Laws carried over

  • Never a storefront. Products sell on their own domains; this page shows proof and links out.
  • Lime is never body text, never a headline, never a large fill. Accent for signal only.
  • Never invent revenue and never hide the €0.00.
  • The separate operating company stays off this surface, including as background credibility.
  • No trackers, popups, comment sections, contact forms. Published copy passes the voice gate.
01 violet · all retouches