iopabloio. building in the open
io

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 04

Stone

The live system, kept. Added: a warm stone surface for sections read slowly, orange for waiting states, Inter Tight in the display role the March spec asked for, and the pabloio. wordmark with the tile as the app icon.

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

iopabloio.on ground
iopabloio.on lime
iopabloio.on the secondary
favicon · app icon · 56 / 32 / 16
ioioioio

The tile and the full stop. The wordmark is one word, pabloio., in Inter Tight 800 with a lime full stop: the sentence ends, the thing shipped. The mark is the tile: a lime square with io set in the same face, which is the app icon the locked spec described in March, finally drawn. No ring, no orbit, no metaphor, just the name and the signal.

  • Wordmark: pabloio. in Inter Tight 800, lowercase, -0.04em, full stop in lime. Never two words, never uppercase. JetBrains Mono PABLO IO stays for labels under 12px.
  • Lockup: tile, 12px gap, wordmark. Clear space equals half the tile. Minimum: tile 16px, lockup 100px.
  • On lime the tile inverts to ink with lime letters. On stone the tile is ink.
  • The full stop is the only lime in any headline, ever.

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 #e8e2d3new · daylight: a paper surface for slow reading · text on it 15.2:1
accent #ff6a00new · waiting states, alerts · on ground 6.9:1

Stone is daylight. The live page is all night; some things want to be read slowly, and a warm paper surface with ink text does that without leaving the brand. The proof and the spec turn stone; lime survives on it only as a dot or the full stop, and status text on stone is ink. Orange is the accent for waiting states, warm on both grounds. Neither is ever a text colour on the night ground.

Typography

  • display · inter tight 900 · 44 to 104px · uppercaseBuilt in public.
  • section · inter tight 900 · 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

The locked March spec said Inter 900 uppercase, -0.03em, and Anton was filling that role on the live page. This retouch makes the spec true: Inter Tight 900 carries the hero, the numbers and the section heads, so display and body are one family at two widths. Mono keeps the labels. Corners settle at 16px.

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. On stone the same lines are set in ink; nothing gets softer because the ground got lighter.

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 daylight panel. A stone section for anything read slowly. Rules go to a warm grey, muted text to a stone grey, status dots stay lime.

Do / don't

Do

  • Keep the seven live tokens exactly.
  • Use stone for reading sections only, never for the hero.
  • Use orange only on a waiting state.
  • Let Inter Tight replace Anton everywhere.

Don't

  • Stone as a text colour on night.
  • Lime text on stone beyond a dot or the full stop.
  • Anton anywhere, the ring anywhere.
  • Orange on anything live.

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.
04 stone · all retouches