← All Writing

Building AI Content Pipelines From Inside the Content Team

I’ve worked at Ranker for seven years. For most of that time my job was content: making it, strategizing it, and leading the teams that made it.

But the most useful work I’ve done in the last two years hasn’t been content. It’s been the systems my team uses to make it:

  • FrameShop, an in-browser Photoshop replacement built directly into our internal tools. It replaced Photoshop for the company entirely and saves roughly $26,000 a year in licensing.
  • A Chrome extension that builds social posts straight from Ranker lists and Reddit threads, cutting content-building time by 60 to 80 percent.
  • A multi-agent pipeline that turns our library of old, flat PNG creatives back into fully editable, layered files, cutting the turnaround on reworking an old creative by about 90 percent.

I don’t have an engineering background. I built all of it with Claude Code and Codex, working alongside our product and engineering teams and holding it to the same production standards as anything else we ship.

What I’ve become is the person who sits between the content team and the engineering team. I know what’s valuable from a content standpoint, I know what’s practical from an engineering standpoint, and I can build the thing in the middle. That turned out to be a job.

Here’s how I got there.

It Started With Being Annoyed

When ChatGPT first launched, I tried to get it to write entire articles for us. The results weren’t great; the copy was formulaic (and frankly boring), and it would be a long time before you could trust it to do what a good freelance writer does.

But it got my brain going. If this thing couldn’t write my articles, what could it do to the workflows I ran every single day?

That question is the whole through line of this story. Not any particular tool. Just an open mind about which parts of your day could be sped up, improved, or deleted outright, and a willingness to go find the thing that does it. ChatGPT, in that incarnation, wasn’t the thing. So I put AI down for a while and picked up something else: Keyboard Maestro.

Every Workflow Is Just A Series Of Clicks

Keyboard Maestro is a Mac automation app that can do more or less anything a human can do on a computer: click the mouse, type keys, open apps, move windows. The real power comes when you chain those actions into macros, allowing you to set up complex automations for just about anything you can do on a computer.

I downloaded it in 2022 and started small with things like text expanders. I’d type “walttt” and it would become “Walt Disney Studios Motion Pictures,” a credit I typed constantly.

Eventually I worked up the courage to automate something that mattered. I was making 20-plus social post images a day, and each one went into its own instance of our Post Creator tool, where I filled out the form by hand: which list it attached to, the framing tags, which pages it would go up on. It took about two minutes per post for an average of 40 minutes per day.

So I built a macro that opened and filled each Post Creator instance automatically. It loaded the list, dropped in the image, and filled every field it could, so the only input left for me was whatever was unique to that post.

A daily task that took 40 minutes of sustained attention became one that took 5. I got 35 minutes back every single day.

That opened my eyes. Every workflow is just a series of clicks, and automation, set up right, can do those clicks without taking up your mental bandwidth. You get the output without paying the attention.

So I started to build macros for every corner of my job. Few were impressive on their own, but together they gave me back the hours I used to spend clicking. Once ChatGPT got good enough to write small scripts, I started baking those into the macros, which made them sturdier and far less error-prone. But the real break came later.

Then Claude Code Showed Up

I knew a little Python and JavaScript and had spent some time in a terminal, so I installed Claude Code without thinking much about it. I was impressed right away. I also completely underestimated it.

It didn’t click until I used it to build an app, which eventually became Beat Journal. Up to that point I’d tried to build the bones of it by hand: Python, Swift, even a tangled web of Apple Shortcuts that analyzed my health data with AI.

With Claude Code, I had a working iOS app in a matter of days. I had very little detailed knowledge of the code. What I had was a clear idea of what I wanted.

Naturally, my next thought was: how do I use this on my Ranker workflows?

The Question That Changed My Jobs

There was a thick layer between my team and our engineering team, so I started with hacky things just for me. A script that updated our spreadsheets. A script that talked to the Instagram API so I could schedule videos without clicking through the app.

Then I had an idea that needed programmatic access to the content on a Ranker list. So I messaged our chief architect, rather innocently, and asked if we had an API for that.

He didn’t answer the question. He asked what I was trying to do. When I told him (a little local Python app that takes a Reddit URL and pre-fills our Photoshop files from it), he set up a meeting with the engineering team.

They met my curiosity halfway. They set me up on the company GitHub and built a playground where I could build and iterate on tools for our content pipeline. The only direction was “do whatever you think will help the team.”

Over the next few weeks, our chief architect walked me through the basics of enterprise engineering: git repos, branches, tickets. Things I’d known as abstract concepts, I was now doing inside my own company. He sent me tons of resources and was endlessly patient with my questions, and I owe a lot of my comfort in this space to him.

Access to our internal infrastructure supercharged everything. Just as important, it gave me a direct line to real engineers when I got stuck.

Build One: Replacing Photoshop

The problem. We made a lot of posts from Reddit stories, and every one followed the same very automatable process: copy the text, paste it into a Photoshop template, adjust, export, repeat.

What I built. It started as a browser version of that Reddit-to-Photoshop script. It grew into FrameShop, a full in-browser image editor built into our internal tools and designed around how our team actually works. It runs in tandem with a Chrome extension I built, so you can go from a Ranker list or a Reddit thread to a finished post without leaving the browser. Templates pre-fill themselves from the source text, which took that step from about two minutes to about five seconds.

What changed. FrameShop replaced Photoshop for the company entirely. That’s roughly $26,000 a year in licenses we no longer pay for, and it became the foundation for every content tool that came after it.

Build Two: Unflattening The Archive

The problem. We had a massive library of old creatives sitting around as flat PNGs. They were set in stone. Every time we wanted to reuse one, someone rebuilt it from scratch.

What I built. A multi-agent workflow that turns a flat PNG back into an editable, layered file that opens in FrameShop. Each step is its own job:

  1. Identify which template the original creative was built on.
  2. Isolate each component part: the image, the headline, the body text.
  3. Strip out the leftovers of its previous life, like old logos.
  4. Rebuild everything into the matching template, as layers.

What changed. The output is a near one-to-one editable recreation of the original. Reworking an old creative used to mean rebuilding it. Now you load it, make the small tweak that should improve engagement, and ship it again, about 90 percent faster. It has been used on tens of thousands of creatives so far.

The Same Process Every Time

Those two projects are a slice of what I’ve built at Ranker, but every one of them came out of the same three steps.

Identify the problem. Imagine the ideal solution. Build and iterate until what you have fits.

And every one traces back to the same instinct: cut the unnecessary clicking, and the unnecessary input, out of every step. It started as Keyboard Maestro shortcuts only I used. It grew into multi-agent workflows the whole department runs on.

Knowing Where The Line Is

I learned all of this by getting things wrong. A lot of my mistakes were about contributing code in an enterprise environment: GitHub hygiene, order of operations, filing and tracking Jira tickets. All the unglamorous parts.

I’ll never forget the time I spent hours building a hacky workaround to pull up the data on our past creatives in a grid view. Then our chief architect came in and told me there was a much easier way to do it. His point stuck with me: I can’t just hack solutions together, especially on the backend, where Claude doesn’t know everything about our systems and I could easily be doing redundant work. Which I was.

The biggest lesson was knowing where my limits are. I’m not a senior engineer and I don’t pretend to be. Some things need to go to the people on my team who are. Knowing where that line sits matters as much as anything I can build. It’s the difference between spending hours on something that gets rewritten anyway and getting it right the first time.

The flip side is just as real. Nothing beats building a tool like FrameShop and then watching senior developers on my team integrate it into their own projects as though it were a legit tool. Because it is.

If You Want To Do This Too

Build stuff. First for yourself, then for others. Building for yourself is how you develop any sense of what will be useful to someone else.

Ping your engineers. If you have an engineering team, or even just someone more technical than you, ask them things. Chances are they’ll be happy to help. If you can pick up some of the slack, you’re taking work off their plate.

Dive in. Break things. Build things. Learn by doing.

The best part of where I’ve landed is being the translator. As these tools keep removing the friction between what a content team wants and what it can actually build, the person who speaks both languages is going to be worth more and more.

I didn’t set out to become an engineer. I set out to stop repetitive clicking, and I never stopped pulling on that thread.