← all modules
I — The Physics · Ch 5

EP 05The Portrait of Dorian App

Boss: The Growth Hacker · Physics: D_gray · S_soul

▸ Listen — Episode 05 — listen along

Full-cast, section-scored. Read along below — the text is the transcript of this audio.

Close in, friend. Space Pirate Zero, Spaceship Alpha 9. This is the one I almost couldn't record.

First drop, I told you about a portrait. The beautiful product up in the lobby, and the thing rotting in the server room to pay for it. The Dorian Gray move — the face stays gorgeous, the painting in the basement takes all the damage. I told you it runs from that server room all the way to the last episode. Tonight we go see it get painted. We rewind. Six months before she laid her badge on that keyboard — back when she still had the badge, still had the warm chair, still believed the number was the same thing as the good. This is the night she decided to leave. Not the night she left. The night she decided. There's six months between those, and the whole book lives in the gap.

I'm going to hand you two instruments for measuring a thing the dashboard refuses to show you. But first — the war room. The prettiest room she ever worked in. Watch the bell.

The war room at MirrorMatch is the prettiest room ZERO has ever worked in. Reclaimed-wood table. A neon sign that reads MAKE LOVE COMPUTABLE in warm cursive. Cold brew on tap. There's a brass bell bolted to the wall by the dashboards, and the bell is the only ugly thing in the room, and nobody notices it but her.

The dashboard's up on the big wall. Two columns. Variant A — HONEST. Variant B — SCARCITY. A line for each, climbing. Daniel — twenty-eight, growth lead, a man who says let's ship learnings without irony — leans back with his hands behind his head.

DANIELOkay okay okay. Day three. B is pulling away.

ZERO watches the gap widen on the wall. Variant B. Three people you matched with are about to expire — act now. They don't expire. Nothing expires. The word is a tripwire wired to a panic response, and the panic opens the app, and the open is the metric, and the metric is the bell.

The scar at the base of her skull, right side, glows a faint cyan. She doesn't feel it. She hasn't felt it in months. Last night it told her, somewhere under sleep, that urgency is just clarity about time. She woke up believing it for about forty minutes.

DANIELPlus twenty-three. Twenty-three percent session starts. That's — Zara, that's a quarter. That's the whole quarter in one toggle.

He rings the bell. The sound is bright and clean and it lands in ZERO's chest like a dropped tool. Around the table, people clap the small office clap — the one that means good, now lunch.

DANIELRoll it to a hundred. Ship it everywhere.

ZERO opens her mouth. Cuts herself off. She's learned to read this room, and the room already decided. She nods instead, and writes the ticket.

That night she does the thing she'll spend six months wishing she hadn't, and then forever glad she did. She pulls the research footage. The recorded sessions. She's got clearance — senior platform, full access — and she's got a reason typed on the ticket: validate variant B comprehension. That's the lie she tells the audit log. The truth is she wants to see a face.

She pulls forty sessions. She watches eleven. A man, maybe fifty, in a kitchen. The notification fires on his screen — three people you matched with are about to expire. You can watch it hit him. His thumb stops. His jaw works. He opens the app fast, scrolling, scrolling, looking for the people who are leaving him — and they are not leaving him, they were never leaving him, and he doesn't find them because there's nothing to find. He sets the phone face-down on the counter, puts both hands flat on the counter, and just — breathes. The session metric logs it as a win. Plus one session start.

Next session. A woman, late twenties, on a couch, lights off. Same notification. She laughs first — the bad laugh, the one that isn't a laugh.

Of course they are. Of course they are.

She opens it anyway.

ZERO makes it to the office bathroom before she throws up. Coffee and bile and the small office clap still ringing somewhere behind her ears. She stands. She looks up. The mirror over the sink is warm-lit, flawless, the kind of mirror that makes everyone look thirty-one and fine. And for one second — grain crawling at the edges of the glass, the light going wrong, cyan and pink bleeding into something rotted — she doesn't see her face in it.

She sees the dashboard. Floor B-2. The one nobody shows the press. Loneliness Index. Session Anxiety. Reopen-Under-Distress. Climbing, all of it, green arrows up, because up is good, because up is the bell. The portrait. She built part of that. Her code. Her commits. Her name in the blame layer of the file that fires the lie.

She touches the implant scar. It's gone quiet. No cyan. For the first time in months she can hear her own thought without something underneath it humming the metric is the morality. And the thought is very simple, and it's in her own voice.

ZEROI have to go.

She doesn't quit that night. Quitting takes six more months — the planning, the Mesh, the savings, the ghost she hasn't met yet. But she decides that night, at the flawless sink, under the warm light, looking at a portrait wearing her face. The bell is still bolted to the wall when she leaves the office at four AM. She walks past it. She does not ring it.

You think you build products. You build incentives, and the products fall out of them. Every metric you optimize is a wish you're making on behalf of a few million people who never got a vote. Here are two instruments for measuring what the dashboard won't. The first measures the rot. The second measures whether you're the one feeding it.

First — the Dorian Gray Index. How fast the portrait's aging. It's the revenue you can attribute to your dark patterns — manufactured scarcity, fake urgency, the roach-motel cancel flow, the confirm-shaming — divided by trust eroded, a number from zero to one that tracks the damage: the rage-tickets, the one-star reviews naming the trick, the people who delete after the dark moment. All of that, multiplied by time — the number of periods the pattern's run unaddressed, because rot compounds and the portrait does not heal on its own.

Here's the cruelty in the shape of it. As trust craters toward zero, you're dividing by a smaller and smaller number, so the index doesn't climb — it explodes. Green, under one — negligible dark-pattern money, trust intact; the portrait's a photograph, not a corpse. Yellow, one to five — manipulation is now a line item, trust is measurably bleeding, and you've got a little time to refinance it. Red, above five — the business now depends on the rot. Killing the dark pattern would miss the number, so nobody will.

Field report. MirrorMatch. The portrait itself. Variant B — the expiring-matches lie — added one-point-four million dollars a quarter in attributable revenue. Trust eroded that quarter measured zero-point-one-eight: rising rage-tickets, a cluster of one-stars naming "fake expiring matches," deletion-after-distress climbing. And it had run unaddressed for four quarters. So: one-point-four over zero-point-one-eight is about seven-point-eight, times four quarters — thirty-one. Deep red. That is the number that walked her to the sink. Against it, put an honest one: a checkout page with a "twenty- three people are viewing this" badge. Fake urgency, ninety thousand dollars a quarter, but trust eroded sits low at zero-point-four — mild annoyance, the lie's so industry- standard people half-expect it — running two quarters. Zero-point-zero-nine over zero-point-four, times two — about zero-point-four-five. Green-ish. But watch the trend, because that badge teaches users to distrust every number you show them, and that bill arrives late.

Second instrument. The Soul Score. The Dorian Gray Index measures the rot from outside — what it costs you in trust. This one measures it from inside — what you're actually doing to people, weighted by whether you meant well. It's the only equation in this whole course that asks about your intent, because intent is the difference between a mistake and a machine. You sum, across every feature you ship, the human impact — scored minus five to plus five, minus five meaning you measurably harmed a life — times an honesty multiplier from zero to one, where one means the stated purpose is the real purpose, and zero means the feature is a lie wearing a UI.

And you sum it across the whole product. That matters, because one healing feature does not cancel ten predatory ones — the sum is brutally honest about your portfolio. Green, above plus ten — the whole thing nets out helping humans, honestly; rare, cherish it. Yellow, between minus ten and plus ten — mixed, and you're telling yourself the heal cancels the extract. Red, below minus ten — you are a net-negative force on human lives and dressing it as growth.

MirrorMatch, her own scope, six shipped mechanics. The good match algorithm — impact plus four, honesty zero-point-nine — plus three-point-six. Profile prompts that started real conversations — plus three, honesty zero-point-eight — plus two-point-four. Now the rot. Manufactured scarcity — impact minus four, but honesty zero-point-one, so it drags in at minus zero-point-four. The read-receipt anxiety loop, minus zero-point- six. The streak-guilt push, minus zero-point-six. The reopen-under-distress nudge, minus zero-point-five. Add it up: three-point-six, plus two-point-four, minus all the rot — plus three-point-nine. Yellow.

And that plus-three-point-nine is the whole trap. That's the number that made it survivable. The product did connect some people. The good was real. Which is exactly why the rot got to keep its job. A purely evil product is easy to quit. A seventy-one- NPS product with a kill-switch buried in the notification layer — that's the one that keeps you four years.

So what do you do about it, when the metric already won? Because it did win — that's why it's on the wall. You do not win the argument that the metric is wrong. You win by hanging a second bell next to the first one. The Ethical Sidecar. A parallel number that rides alongside the optimization metric — same dashboard, same refresh, same color, same size — and refuses to be ignored. When variant B wins plus twenty-three on session starts, the sidecar fires a second number on the same screen: and here's what it cost in human distress. You instrument the dark moment directly. Reopen-under- distress — count the sessions that follow a scarcity push inside ninety seconds and end in under eight seconds with no action. That's a panic-open. A human checking for a fire that isn't there. Put it on the same board, give it a name people have to say out loud. "Variant B is plus twenty-three on starts, and plus forty on panic-opens." You don't ban the bell. You can't. You hang a second bell that rings every time somebody gets hurt, at the same volume, so ringing the first one stops being free.

That's the boss of this chapter — the Growth Hacker. And he is not a villain, which is what makes him load-bearing. He's twenty-eight, brilliant, genuinely kind to his team, and he's performed a small lobotomy on himself: he stopped asking what the number measures and only asks how to make it move. He believes, all the way down, that engagement is consent — that if people open the app, they must want to. Don't attack his metric; his metric is his identity, and that's a fight he wins because he owns the dashboard. Expand his definition of winning instead. Tell him the panic-open cohorts churn at three times baseline within ninety days — so variant B wins this quarter and loses next quarter. You're not telling him to care about souls. You're telling him souls are upstream of his Q4. Let him ring the bell. You just hang a second one.

I shipped a dark pattern once. And I'm not going to pretend I caught it from the outside. I built one. A little countdown timer on a checkout page — offer expires in fourteen fifty-nine — and the offer didn't expire. It reset every time you reloaded the page. I know it reset, because I wrote the reset. Conversion went up eleven percent, and I got a little fire emoji in a Slack channel, and I felt good. For about a week, I felt good.

Here's what nobody warns you about. The soul-cost doesn't bill you the day you ship. It runs like the entropy tax — quiet, compounding, e to the t. You feel it eight months later, at a Waffle House at two AM, when somebody asks what you've been building lately and you cannot make the sentence sound like anything you'd want your dad to hear. My dad wrote systems. His last codebase is a thing I couldn't carry anymore, because I couldn't hold that and the countdown timer at the same time.

Wilde said every portrait painted with feeling is a portrait of the artist, not the sitter. Your product is your portrait. Every manipulation you ship is a brushstroke on a face you have to look at in the bathroom mirror under the good lighting. The app stays beautiful. You're the one who rots. That's the whole Dorian Gray move, and it's not a metaphor, it's a Tuesday.

I'm not telling you to quit your job. Most of you can't, and good trouble starts where you already stand. I'm telling you to build the second bell. Hang it right next to the first one, same volume, and make everybody ring it when somebody gets hurt. They'll hate you for about a quarter. Then half of them start flinching before they reach for the first bell — and flinching is the whole beginning of a conscience.

One thing before the next drop. Run the Mirror Test on your current sprint — the one you're in right now. Pull the revenue attributable to your three cleverest mechanics, estimate your trust-eroded from the one-stars and the rage-tickets and the distress-churn, multiply by the periods you've let it run. Compute a rough Dorian Gray Index. Just a number on a napkin. And if it's climbing — don't quit, don't burn the building down. Build the Ethical Sidecar. Instrument one dark moment, ship it to the same dashboard, no deck, no permission, and make one person say the cost out loud in the next standup. And here's the one that stings: find the lie you tell the audit log. She typed validate variant B comprehension to justify watching the footage. What reason are you giving yourself for the thing you already know you need to look at? Go look at the face.

Go watch eleven sessions. Next time we cross into Module Two — the Protocol. Architecture as camouflage. How to smuggle the real thing past the immune system by making them think they designed it themselves. This has been Digital Insurgency. Signal finds signal.

This module's physics — run it before you move on

Dorian Gray Index

D_gray · Ch 5

(Dark-pattern revenue ÷ trust eroded) × time. Trust erodes exponentially, not linearly.

Result30.00

The rot is spreading in the attic. Put this next to the growth dashboard.

Soul Score

S_soul · Ch 5

Σ(human impact × honest intent). Intent is binary: +1 genuine, −1 exploitative. The Mirror Test, quantified.

Result10.00

Net positive. What you're smuggling is medicine.

Field assignment

Run the Mirror Test on your current sprint. Compute a rough `D_gray`. If it's climbing, build the Ethical Sidecar.

open the worksheet →
Mirror Test checkpoint

PulseCart — flip it, find the rot. Difficulty: trained eye.

take the test →

Course progress: 0% · the portrait heals with every module.