Blog · Featured
— Featured··9 min read

Why we built our content engine in Notion instead of another SaaS

Joona Heinonen· Choco Media · Rovaniemi
Why we built our content engine in Notion instead of another SaaS

If you’ve ever tried to run content for a real brand — not a personal newsletter, but a brand with paid media spend, weekly shipping cadence, and three people in three time zones who need to know what’s going out on Tuesday — you’ve felt this. The “content tool” market is enormous. Everyone has a workflow. Almost none of them survive a real client deadline.

We spent eighteen months at Choco Media trying every “AI-native content platform” with funding and a Twitter following. We rebuilt our content workflow four times. Then, in two weeks last January, we sat down and built it properly on top of plain Notion + Zapier + a single Google Sheet. It has been our system ever since — across nine retainer clients, two freelance writers, and roughly 600 published assets.

This post is the full breakdown: what we tried, why those tools broke, the exact stack we replaced them with, and the unexpected second-order effect that made our retainer renewals quieter. If you’re a founder, a marketing lead, or another agency rethinking your content stack — this is what we’d actually recommend, with the caveats.

Why not a fancy SaaS?

We tried six of them. The list is unkind to name in print, but they followed the same pattern, which is the real story.

Every “all-in-one content platform” we touched had the same arc:

  1. Excellent onboarding. Sales engineer flies you through the demo, the UI is gorgeous, the templates make you feel like a professional.
  2. Three weeks of momentum. Your team adopts the basic workflow. The first month is genuinely better than what you had.
  3. One critical edge case doesn’t fit. A client wants approvals in their own Notion. A freelance writer can’t get a seat license. The reporting view doesn’t filter by your account manager.
  4. Manual spreadsheets to plug the gap. Suddenly the “single source of truth” has two sources of truth. Then three.
  5. Cancellation, six months in. Or, worse, you stop using the platform but keep paying because no one wants to migrate again.

The platform that fixes the last 10% of your workflow is almost always the platform that broke the first 90%.

The reason is structural. SaaS content tools are built around an opinion — usually the founder’s idealised workflow, modelled on the agency or in-house team where they used to work. That opinion is the product’s strength when your workflow matches it. It is the product’s weakness when yours doesn’t.

Notion gives us 100% of the surface area and exactly 0% of the opinion. That’s the trade-off. We have to build every view, every database, every relation ourselves. Nothing fights us back. Nothing pushes a feature update that breaks our Tuesday shoot list.

The stack we ended up with

Here’s the actual production system. We’ve audited it three times in 2026; this is what’s still standing.

Notion: single source of truth

One workspace per client, shared with us as guests. Inside, a small set of databases that talk to each other:

That’s it. No project management plugin. No external review tool. We’ve found that the more layers you add, the more your team forgets which layer to use.

Zapier: the wiring

Zapier connects Notion to the platforms where work actually ships. Four flows do 95% of the heavy lifting:

  1. Notion → Frame.io when a video draft is marked “ready for review.” Frame.io is where the actual frame-by-frame approval happens; the link gets posted back into the Notion row automatically.
  2. Notion → Slack pings the right channel whenever a row hits “client review.” We learned the hard way that clients don’t check Notion; they check Slack.
  3. Notion → Google Drive creates a date-stamped folder for finished assets, structured the way the client’s brand team expects.
  4. Notion → Gmail sends a weekly digest to each client account lead every Friday at 16:30. “Here’s what shipped. Here’s what’s queued for next week. Here’s where we’re blocked.” We pre-built this template; the digest writes itself from Notion’s database.

Loom: async approvals

For long-form drafts (~1,200+ words) we record a 90-second Loom walking through editorial choices before sending for review. Reviewers approve in roughly 40% less time when they can hear the reasoning, rather than read it in margin comments. We learned this the embarrassing way after losing two days on a re-write a client later admitted was a misunderstanding.

One Google Sheet (the dumb one)

Exactly one spreadsheet, kept alive because the client’s CFO wanted it. It pulls a basic monthly summary out of Notion via Zapier. It does nothing important. We mention it because someone on your team will demand a spreadsheet at some point, and the right move is to give them one — not let it sprawl.

Cost: what we used to pay vs. what we pay now

This part matters if you’re justifying the switch to a finance team.

The savings aren’t the headline. The headline is: when a new freelancer joins, onboarding takes 20 minutes instead of two days. When a client wants to see what’s going out next week, they look in Notion. When a junior writer’s account license lapses, nothing breaks.

What surprised us — the second-order effect

Here’s the part we didn’t expect, and it’s now the reason we recommend this stack to anyone running a small studio or in-house team.

Client clarity went up. Dramatically.

Most of our retainer clients had never seen what “next week” actually looked like, week-by-week, before. They were used to the agency dance — vague timelines, missed expectations, end-of-month surprise invoices for “extra work.” When the calendar lived in Notion and they could see it, expectations stayed clean. When a client asked “can we add a podcast clip this week?” we could point at the calendar and answer in 30 seconds: yes, but we’d push the Friday post to Monday. Or: no, we’re already at capacity — let’s add it to next week.

This wasn’t a tool feature. It was the side effect of moving the work out of black-box agency-land and into a shared workspace. The retainer renewals got quieter because the conversations were already happening, transparently, every week.

If you’re choosing a content tool primarily for your team’s productivity, you’re optimising for the wrong outcome. The right outcome is your client’s confidence — and that’s almost always a visibility problem, not a tooling problem.

What we’d do differently next time

A few honest mistakes worth flagging.

Database relations are tempting; resist

Notion lets you relate every database to every other database. In month two we had eight cross-relations and it was beautiful. By month four we couldn’t remember which “Theme” was the parent of which “Pillar.” We refactored to flat databases with just one or two relations, and the system became maintainable.

Don’t try to make Notion your CMS

For a while we considered publishing directly out of Notion to client websites. It was technically possible. It was also a maintenance nightmare. Notion is where work is planned and reviewed; the actual CMS (WordPress, Webflow, Ghost, Sanity — whatever the client uses) stays where it is. The Zapier flow that pushes the finished asset is one-way.

Templates beat training

The biggest unlock wasn’t onboarding documents. It was duplicate-this-page templates: “Q3 brand campaign brief — duplicate me”, “weekly digest — duplicate me”, “new client onboarding — duplicate me.” Anyone joining the team copies the template, fills it in, learns the system by doing.

When this stack doesn’t make sense

We’re not zealots. There are at least three situations where you should not do what we did:

How AI fits into this — and where it doesn’t

It would be off-brand for us not to address this. We run an AI content production service; we use AI in nearly every step of our content engine. But not all the steps.

What AI does in this stack:

What AI doesn’t do:

If you want the longer version of how we think about this, our AI promise page lays it out. The short version: AI accelerates the boring parts so the human attention can go to the parts that need it.

The honest summary

This is not the post where I tell you Notion is magic. Notion is a database with a nice text editor. Zapier is glue. Loom is a webcam. None of these tools are special.

What’s special is what you can build when you stop optimising for the platform and start optimising for the work. A small team with a boring stack ships more than a large team with a sexy stack — every single quarter, in our experience.

If you’re rebuilding your content workflow this quarter, my suggestion: spend two weeks designing the workflow you want on paper. Then build it in the cheapest, most flexible tools you can find. Add complexity only when something actually breaks. Most of the time, the thing you thought would break, doesn’t.

And the part you didn’t expect to be the win — your clients seeing your work, in plain sight, every week — turns out to be worth more than every dashboard SaaS combined.

If you want to talk through your own content engine — what’s working, what’s stuck, what the right next move is — drop us a line. We take on a handful of new retainer clients each quarter.

← All storiesNext story →
— Free tips, monthly

Get the playbook, for free.

One short letter a month — the prompts we use, the campaigns that worked, the AI tools worth the time. No sales pitch, just field notes.

— Want us to do it for you?

Hire the agency.

AI-accelerated content, paid media, brand and web — delivered by one small team that talks to itself. Currently taking on a handful of clients each quarter.

Book a call
1