/ blu
CORE
BLU
HAPPI HOME PRO
RESULTS
EXPERIMENTS
FIELD NOTES
WHAT HOLDS UP
INPUTS
CONTACT
LOOP
The product is a loop
It starts when two numbers disagree. Reports fall out along the way.
ARCHITECTURE
Split by role, not domain
Lens, brain, guard, ledger. Four roles, no domain modules.
VOICE
Two voices, one auth
Leo never lives outside my auth, so the site hears VM and I hear Leo.
SEP 4
Three things at once
The repo went live before BLU stood. Virtual Mike picks up the load.
WAS THE RULE
Starts when BLU stands
Two unfinished things is one too many. That was the rule.
LiveVM
Virtual Mike
The interface you are using. Not a chatbot on a site — the site.
2 INSIDE
VIRTUAL MIKE
The reflex is the product
The reflex is worth virtualizing. The knowledge is not.
ProjectBLU
BLU
Virtual Mike, running on Simpli Soda's stack.
2 INSIDE
HubNOW
On the bench this week
Five buckets. Two are BLU, one is the thing you are reading.
5 INSIDE
HonestAVOID
What I am avoiding
Naming the price. Dressed up as a design problem. It is not.
1 INSIDE
DesigningHHP
Happi Home Pro
Designed before built. No app code yet. Listed anyway.
2 INSIDE
14 daysR-SHIP
0
Changes noticed
Somebody outside my head noticed. That is the bar.
UnattendedR-AUTO
0
Running without me
Two weeks unattended, or it does not count.
ReversedR-BACK
4
Decisions taken back
Counted, because pretending they were right is expensive.
OpenSAY
Say something
mike@michaelpelland.com — partners, builders, people comparing notes.
ParkedX-BLUCHAR
Manifest BLU as an actual character
A visual and personality layer for the intelligence that already exists underneath it.
OriginBLU-ORIGIN
Why don’t we just build it
A boat, a flask, and a question nobody had a good answer to.
ChallengeC-UGLY
Come tell me I am wrong
Bring the ugly question. I will ask BLU the Simpli Soda version of it, live.
GroundingL-IDK
If it cannot say I do not know
Then every number it hands you is unverified by definition.
JudgmentL-CHAIR
The IP is the guy in the chair
The tool could build anything I could specify. It could not tell me I was specifying the wrong thing.
HeadlessL-HEADLESS
Not going headless is the mistake
Own the data model your business runs on, or rent somebody else’s definition of a customer.
SaaSL-SAAS
SaaS is dead
The horizontal middle dies. Infrastructure lives.
Sep 4N-904
Three designs, two limits
Built the ask, designed the login. The platform reset both.
PlatformL-DOCS
The docs are a claim
Their own documented example, rejected by their own server.
ArchitectureL-RESOLVE
The copy is not truth
Most systems operate off a copy. BLU asks the source again.
PrimitivesL-PRIMITIVES
Everything is a segment
Segment, measure, derived claim. Only two may render as a count.
Aug 27BLU-DEMOTION
The CRM was demoted
Platform to sensor. The plan was to remove it. It tells me more now.
ConvergenceBLU-ONEOS
One operating system, not two
Operations and demand, wired into the same reality.
AbsenceL-ABSENT
Absent is not zero
Zero, empty, unasked, unaskable. Four answers, not one.
ModelingL-MODEL
Modeling comes before intelligence
The model is not the hard part. Modeling the business is.
Aug 6N-REPORTS
Reports were segments
Every report I built was a segment. So I built segments.
Aug 13–14N-SLOW
The instrument went stale
Three BigQuery passes became eight. Nobody noticed for ten days.
Aug 14N-TWOREADS
Two reads can disagree
Deleted a real 2x speedup, because two paths can disagree.
StandingN-ANSWERABLE
The questions became answerable
The inputs always existed. Nobody owned the disagreement.
Focus modeProject · BLUCLOSE ✕

BLU

Virtual Mike, running on Simpli Soda's stack.

HEAR ITIN MIKE’S VOICE0:00 / 1:49

Virtual Mike, pointed at Simpli Soda. It replaced HubSpot without becoming another copy of the business: the sources stay the source of truth, and BLU asks them again.

We are at the beginning of this. HubSpot just happened to be the first thing we stopped needing.

THE PREMISE

Not another chatbot

Something that understands the business the way I understand the business. What a customer actually is, what churn means for us, what counts as a lead. Something I can ask what changed today, and that can tell me where two systems disagree. The premise itself is written down under Virtual Mike.

THE HARDEST RULE

If it does not know, it says so

BLU does not invent a number to fill a silence. If something is not fact, it does not get displayed as a KPI. The story behind that rule, and what it costs to keep, is its own record: If it cannot say I do not know.

THE PRIMITIVES

Segment, measure, derived claim

I started with reports and built a lot of them. Then I realized almost every one was a segment of the business, visualized. So I backed up three steps to the primitives underneath. A segment is who. A measure is what is true about them. A derived claim is what we think it means. Only the first two render as a count.

RESOLVE, DO NOT COPY

Reality is the source of status

BLU does not keep another copy of the business and call the copy the truth. It resolves from the systems where the truth lives, and when the evidence gets better the next answer is different. It can still remember what we believed and decided. Memory and current truth are not the same thing.

WHAT IT COSTS

Re-resolution is not free

A past day can shrink when you read it again. In August the morning page went from three BigQuery passes to eight without anyone noticing for ten days, and I deleted a real 2x speedup because two reads of one number could disagree. Both are in Field Notes.

THE DEMOTION

Platform to sensor

Six weeks after a conversation in a fishing boat we killed the HubSpot renewal, and we did not replace it with another CRM. HubSpot is still in the stack, as one signal rather than the system of record. What we cut and what we kept is on The CRM was demoted.

Published Updated BLU

Inside

Wired to

ASK