DhungJoo Kim.
← Back to memo
DK · Memo · Builder breakdown
002· issue
Filed · 04·24·26Read · 7 minBuilder breakdown

An image-prompt pipeline in an afternoon.

We were paying a contractor $1,800/month to produce social tiles. Saturday afternoon, one Cursor session, and the contract is the line item I cancelled this morning.


Situation

Three brands across the portfolio post 12 social tiles a week. Each tile is a quote on a backdrop, brand-locked. We had a contractor producing them at $150 per batch of 8 — about $1,800 a month, with a 36-hour turnaround that always slid to 48.

I'd put off rebuilding it because "it's working." It wasn't working. It was working for the contractor.

Decision

Saturday afternoon. One Cursor window. Three steps:

  1. A Notion table with the week's quotes, author, brand, and intended format. The social manager already maintains this for review.
  2. A small Next.js route that pulls the table, renders each row through a server-side OG-image template (one per brand), and saves a PNG to Supabase storage.
  3. A scheduled task at 6am Monday that emails the social manager a contact sheet of the week's tiles, with copy/replace links.

About four hours of building. About forty dollars of Supabase + Vercel overage. The library lives at /workflows/social-tile-pipeline.

Insight

The contractor wasn't producing tiles — they were producing specification labor. Choosing the font weight, the wrap, the brand mark placement. Once that decision was a template, the production was free. We were paying a designer's rate for a render farm.

This is the operator question I keep coming back to: what specifically am I paying for here? If the answer is "the artifact," there's probably a workflow. If the answer is "the judgment," that's the hire.

— DK


DK
Filed · 04·24·26
Memo · Issue 002 of 3
Operator log · Cool Forest · v1.0
Subscribe

Get the next memo on Monday.

One a week. Filed at 8am ET.

← Previous
001· issue
Hiring isn't the fix. The spec is.
Next →
003· issue
The week I stopped running standup.