# the row shape was the build

Source: https://aaronmakelky.com/what-i-built-today-2026-06-15
Last updated: 2026-06-15

A public build log about a content ops cleanup where one promo slot stopped multiplying into separate platform rows and became one page for copy and scheduling state.

[Back to blog](/blog)

What I built today

I cleaned up a tiny content ops problem that was getting just annoying enough to matter: one promo slot had turned into a pile of platform rows.

June 15, 2026 · 4 min read · Public work log

Operations Content Workflow Field Notes

What changed

### the page became the slot

The unit should have been obvious: the publishing moment. Copy for each platform belongs under that moment, not scattered across places I have to keep checking.

### the calendar stopped multiplying

One slot had already spread across LinkedIn, Facebook, Threads, and X. Putting those versions together made the next pass about the copy again, not tab archaeology.

### the asset stayed with the work

The cover image now lives next to the promo note. Small thing, but that is usually where these workflows break.

Where it got annoying

## The same update wanted to happen twice.

The annoying part was small enough to ignore. A promo had copy for more than one channel, a cover image, timing notes, and a registration link. I had treated each platform like its own source of truth because that was the fastest way to get the placeholders down.

That worked for getting placeholders onto the board fast. It got worse once the link changed, the image appeared, and the copy needed another pass. Every update wanted to be made twice.

So the build was mostly a rule: one publishing moment gets one page. Put the channel versions inside it. Schedule from that page. Stop creating little places for the same decision to drift.

What I changed

## I made the slot the thing.

I keep wanting the fix to be smarter automation. Sometimes the fix is just naming the thing correctly.

If the unit is "platform row," every platform becomes its own checklist. If the unit is "promo slot," the page can carry the channel versions and the scheduling state in one place.

The useful part today was smaller than the kind of AI win people usually talk about. I opened the system, found the shape that was making extra work, and changed the shape.

I keep underestimating how much ops work is just choosing the right box.

[Back to blog](/blog)

## Related pages

- [Back to writing](/blog)
- [Published tools](/tools)
- [About Aaron](/about)

## Sources and references

- [OpenAI Codex GitHub repository](https://github.com/openai/codex)
