SuperGeekery: A blog probably of interest only to nerds by John F Morton.

A blog prob­a­bly of inter­est only to nerds by John F Mor­ton.

What happens when the Good, Fast, Cheap” rule breaks?

The narration of this post was created with Bespoken plugin for Craft CMS.

When I first start­ed in adver­tis­ing, I worked with an art buy­er and pro­duc­er named Karen Meenaghan at Ammi­rati & Puris. (I loved hang­ing out in her office.) She intro­duced me to an idea that has stayed with me ever since:

Good. Fast. Cheap. Pick any two.

It was framed as a fun­da­men­tal con­straint of the uni­verse. It wasn’t advice. It was more like the laws of physics. 

If some­thing was good and fast, it wouldn’t be cheap

If it was cheap and fast, it wouldn’t be good

If it was good and cheap, it wouldn’t be fast.

For years, that frame­work mapped clean­ly to my own pro­fes­sion­al and cre­ative life.

In my pro­fes­sion­al life, after I opened my own dig­i­tal pro­duc­tion shop, it cer­tain­ly helped me with scop­ing and esti­mat­ing jobs.

It also shaped my per­son­al cre­ative life.

I’ve always had ideas, and code has usu­al­ly been my medi­um of expres­sion. Visu­al tools. Exper­i­men­tal apps. Play­ful util­i­ties. I could build them — and build them well — but the cost was time. And time is not cheap.

So I picked my two.

Usu­al­ly: Good and Cheap.

Which meant: Not Fast.

The Constraint Was Time

Even small ideas used to car­ry sig­nif­i­cant over­head. Whether I was iter­at­ing on a visu­al exper­i­ment or writ­ing the scaf­fold­ing for a project, the process of just doing the basic work could take a lot of time. 

And by the time some­thing worked, the gid­dy rush that comes with a new idea would often begin to wane. Before I could put the fin­ish­ing touch­es on one project, I’d be itch­ing to start anoth­er one.

That time con­straint didn’t stop me from build­ing. But it did lim­it what I attempt­ed. Cre­ative ideas would die on the vine sim­ply because I didn’t have time to pur­sue them. 😞

Recent­ly, that changed because of AI cod­ing tools.

AI is an accelerant 🔥

Counter to many posts I’ve read, I don’t believe AI is replac­ing me. It’s ampli­fy­ing me. It doesn’t make my tech­ni­cal or cre­ative think­ing irrel­e­vant — those are essen­tial. AI expands what I can accom­plish.

It’s more like strap­ping on an exoskele­ton. I think of Tony Stark step­ping into his Iron Man suit. His strength is mul­ti­plied, but the per­son inside the suit still mat­ters. The direc­tion the pilot wants to go still mat­ters. Judg­ment and a crit­i­cal eye still mat­ter.

That’s what AI feels like in prac­tice.

When I know how I want a ren­der­ing pipeline struc­tured, or how state should flow through a com­po­nent, or how a lay­out algo­rithm should behave, I can artic­u­late that clear­ly and have it imple­ment­ed rapid­ly.

The result isn’t vague out­put.

It’s accel­er­at­ed exe­cu­tion.

Instead of spend­ing days wiring up infra­struc­ture, I can move from con­cept to a work­ing appli­ca­tion in a day or two — because the sys­tem is ampli­fy­ing my tech­ni­cal intent, not replac­ing it.

Not a mock­up. Not a half-func­tion­al pro­to­type. A real app.

And that speed changes the eco­nom­ics of cre­ativ­i­ty.

Let me show you a few recent per­son­al exper­i­ments — ideas that had been bounc­ing around in my head that I final­ly decid­ed to build.

Movie Fingerprints

One recent project is called Movie Fin­ger­prints.

It takes a video file and com­press­es it into a sin­gle image — a visu­al fin­ger­print of the entire film or video.

The trail­er of Rear Win­dow as a fin­ger print” using a qua­drat­ic grid and select­ed high­light frames.

At its sim­plest, it extracts even­ly spaced frames and arranges them into a con­fig­urable grid. Rows and columns are adjustable. Den­si­ty is adjustable.

That’s where the project start­ed.

It became more inter­est­ing once I began explor­ing the order­ing log­ic.

Frames don’t have to ren­der lin­ear­ly. Work­ing with my AI cod­ing pow­ers, I added some more options:

  • Tra­verse the grid diag­o­nal­ly for frame order­ing log­ic
  • Radi­ate the order­ing log­ic out­ward from the cen­ter
  • Use a qua­drat­ic grid with larg­er and small­er frames

Under­neath that sim­plic­i­ty are lay­out algo­rithms, frame sam­pling strate­gies, deter­min­is­tic order­ing log­ic, and com­posit­ing rules.

That’s real sys­tem design. It’s not triv­ial.

But instead of spend­ing weeks build­ing infra­struc­ture before I can exper­i­ment with pat­terns, I can explore aes­thet­ic vari­a­tions almost imme­di­ate­ly.

If I want to see what a cen­ter-out radi­al tra­ver­sal looks like, I can imple­ment and eval­u­ate it — often with­in an hour.

Here’s anoth­er exam­ple from this project. After see­ing the qua­drat­ic grid, I real­ized I want­ed the abil­i­ty to des­ig­nate keyframes and visu­al­ly ele­vate them. That led to select­ing mul­ti­ple frames as key moments in a video and cre­at­ing dif­fer­ent options for how to fea­ture them. 

My cre­ative ideas weren’t held back by imple­men­ta­tion hur­dles. With my AI tools, I took the idea and made it real.

Some Shade

The sec­ond project is called Some Shade. (The name comes from my own, pos­si­bly weird sense of humor — com­bin­ing the idea of a WebGL shad­er with shade” from gay cul­ture, as in throw­ing shade.” The name Some Shade made me laugh.)

Latrice Royale with a fan in her hand saying "Shade" in the caption.
Latrice Royale throw­ing shade,” processed as a CMYK halftone using Some Shade.

It’s a WebGL-pow­ered web com­po­nent that trans­forms images into bold halftone art­work.

It expos­es a play­ground for exper­i­men­ta­tion:

  • CMYK halftone ren­der­ing with inde­pen­dent angle con­trol per chan­nel
  • Adjustable dot den­si­ty and grid scale
  • Duo­tone modes
  • Chan­nel sep­a­ra­tion effects
  • Pri­ma­ry-col­or cell exper­i­ments

This isn’t a sta­t­ic fil­ter. It’s shad­er-lev­el manip­u­la­tion of col­or chan­nels and pro­ce­dur­al recon­struc­tion of the image.

Five years ago, I like­ly would have shelved an idea like this. The ramp-up cost would have been too high rel­a­tive to the pay­off.

Now I can pro­to­type, refine, and pack­age it into a reusable com­po­nent quick­ly enough that curios­i­ty dri­ves the roadmap.

How that pow­er man­i­fest­ed itself in Some Shade is that I start­ed with CMYK — that tra­di­tion­al halftone process. Then my mind jumped to a movie I’ve always enjoyed, The King of Jazz

Screen capture from the King of Jazz showing the two-strip color process
Screen cap­ture from the King of Jazz show­ing the two-strip col­or process.

That movie was shot in col­or, but it was before col­or repro­duc­tion tech­nol­o­gy exist­ed the way we think of it now. Instead, it was shot using a two-strip col­or process with a bluish/​aqua strip and a reddish/​orange strip. The result cap­tures some­thing that isn’t black and white, but it’s its own unique thing. 

I decid­ed to try to repro­duce that effect — but as if it were applied to print­ed halftone images.

A before and after image of an illustration being converted to the two-strip color process.
A before and after exam­ple of the Some Shade two-strip col­or process.

Does it work? Maybe or maybe not. But you can now try it out in Some Shade and decide for your­self.

Did the Good, Fast, Cheap” Rule Break?

Let’s get back to the orig­i­nal point I start­ed with:

Has Good, Fast, Cheap — Pick any two” stopped being true?

For me, AI has bent that tri­an­gle in a way that feels struc­tur­al.

The Fast” side of the tri­an­gle used to be con­strained by man­u­al imple­men­ta­tion time. AI com­press­es that dra­mat­i­cal­ly. When the speed of exe­cu­tion increas­es, the cost curve shifts.

Good and Fast no longer auto­mat­i­cal­ly mean expen­sive.

But maybe this isn’t the first time the rule has cracked. Desk­top pub­lish­ing changed design. Dig­i­tal pho­tog­ra­phy changed pro­duc­tion. Web frame­works changed appli­ca­tion devel­op­ment.

Each wave shifts what fast” means.

Maybe we’re just liv­ing through anoth­er shift.

What Changed for Me

The most mean­ing­ful change isn’t that I can build faster.

It’s that I can build more. I can explore more.

The idea back­log in my head no longer feels like a grave­yard of some­day.” It feels like a queue.

If I wake up want­i­ng to explore video com­pres­sion aes­thet­ics or shad­er-dri­ven halftones, I can.

AI doesn’t elim­i­nate craft. It ampli­fies it, espe­cial­ly when you can artic­u­late archi­tec­ture clear­ly and direct the sys­tem inten­tion­al­ly. (Vision, and the abil­i­ty to artic­u­late it, may be the new killer skill set, but that’s an idea to explore in a future post.)

AI cod­ing, to me, broad­ens the hori­zon of cre­ative free­dom — and increas­ing­ly, busi­ness exe­cu­tion too. You can cov­er more ground. You can run wild.

Try Something Strange

Both of these projects are meant to be played with. They’re both freely avail­able on my GitHub page.

Gen­er­ate a fin­ger­print of a movie you love.

Drop an image into Some Shade and exper­i­ment with halftones.

And if you have some strange, cre­ative idea that’s been sit­ting in your head because exe­cu­tion felt too expen­sive, try to make it real. It may or may not work out — espe­cial­ly on your first attempt — but at least part of the time con­straint has eased. It has for me.

These exam­ples are from my per­son­al cre­ative side, but the same shift is hap­pen­ing in my busi­ness work too.

Maybe the Good Fast Cheap rule hasn’t gone away.

But for the first time in my career, it feels nego­tiable.