Benson is back: ten days from an empty repository to a relaunch

How I rebuilt Benson, the coupon-extension blocker I first launched in 2022, as a full SaaS platform with a team of AI agents: 44 specs, 836 commits and a launch campaign in under a fortnight.

8 min read
In this article · 7 sections

On 24 September 2026, the Benson repository was an empty Turborepo starter. Ten days later, on 4 October, I relaunched Benson at trybenson.com with a Shopify app, a WooCommerce plugin, a dashboard, a marketing site, a press release and a series of explainer films behind it. By the end of the second week, the repository held 836 commits, 44 product specs and about 655,000 lines of TypeScript, with 785 test files among them.

The original roadmap for the same scope estimated 14 to 18 weeks. I built it with a team of AI agents doing most of the typing while I did the deciding.

Benson is still a work in progress. It's also the piece of work I'm proudest of, because it's the first time I haven't had to cut an idea down to fit the hours I had.

The Benson dashboard overview in a demo store, showing protected value, live controls and insights
The Benson overview in a demo store with sample data. It shows what's protected, which controls are live and the next step in the recommended playbook.

The product Shopify switched off

Benson started as a fix for something I'd watched from inside the affiliate industry. I began my career on the paid search team at Vouchercloud, and coupon extensions came up constantly. A shopper would find a brand through a review site or a creator, then a pop-up at checkout would claim the last click and the commission.

I'd been working on the idea for a couple of years before the original Benson opened early access in August 2022. One script tag removed discount-extension pop-ups across more than fifty extensions and stopped auto-tried codes at Shopify Plus checkouts. Then Shopify announced the end of checkout.liquid, the template that let apps change the checkout page. From August 2024, Plus checkouts moved into a sandbox that apps can't edit, and Benson's checkout protection stopped working, as the relaunch announcement sets out. Shopify's own documentation now marks checkout.liquid as deprecated.

I'd sold the business by then, and under its new owner it stalled.

Meanwhile, the problem got bigger. A December 2024 investigation into how Honey claimed affiliate credit led to class actions from creators. In January 2026, the networks acted: Rakuten Advertising removed Honey, impact.com followed, and Awin said Honey had breached its publisher policies. At the same time, AI shopping agents started arriving at checkouts and doing the same job on a shopper's behalf. So I bought the brand back.

Decide what it's for before writing any code

The first commit after the starter wasn't code. It was a product plan, a decisions record, a design system and the first specs. I wanted the strategy settled before any agent touched the codebase, because an agent will build whatever it's told to build, very quickly, including the wrong thing.

The strategy came down to three verbs: See, Stop and Own.

  • See labels every session as a person, a coupon extension, an AI agent or automation, and shows what each one costs. Detection and agent analytics are free on every plan, because a store can't decide anything about traffic it can't see.
  • Stop hides extension pop-ups on the storefront by rule and caps how many codes a visitor can try. An observe mode shows what would be hidden before anything changes.
  • Own replaces the extension with the store's own coupon assistant, in its own colours, for a fixed monthly price instead of commission.

A holdout sits behind all three. Every switch a merchant flips can run against a control group, so the result is measured rather than modelled. That matters because the honest answer to "is this extension costing me money?" is sometimes no, and a tool that can't say so isn't worth trusting. The holdout guide on trybenson.com explains the method for merchants.

The positioning took longer to settle than the architecture. Benson isn't trying to win a war with extensions. Extensions and agents aren't going away, so the long-term aim is to make them play by the rules and let merchants work with them instead of fighting them.

Write the spec, then hand it over

I wrote the product as 44 PRDs, or product requirement documents. Each one says what a feature does, why it exists, what done looks like and how it gets tested. The backlog put them in an order where each built on the last. The data layer and tenancy came first, followed by the storefront loader, the detector, the ingest pipeline, the dashboard, the Shopify app, the blocker, checkout policies, the widget and its editor, experiments, billing and email.

Then I ran the build as an orchestrator. I keep a skill for this that I call the backlog runner. It takes the next PRD off the backlog and hands each task to a fresh Opus agent, which writes the tests first and then the code. A second pass reviews the change adversarially, looking for the ways it could be wrong, and a third simplifies it. Only then does it become a commit, one per feature. Several agents worked in parallel in their own git worktrees, so the Shopify app could move forward while the worker and the marketing site moved too.

My job changed shape. I wasn't typing most of the code. I was writing specs, reading diffs and rejecting work that met the letter of a PRD but missed the point. I also took the problems agents are bad at: what the product should say, what a merchant will believe, and which Shopify constraint is real and which is a rumour. Where a step needed a person, such as the Shopify Partner dashboard, a payment provider or a DNS change, the agents built up to that seam and stopped, and I picked it up.

The first build week produced 550 commits. 169 of them landed on 25 September alone, the day the core product came together: the loader, detector, ingest, rollups, dashboard, Shopify app and pixel, blocker, widget, experiments and billing.

What got built

Benson is a monorepo of ten apps and fifteen packages:

  • A storefront loader with a 2.5KB gzipped budget, so it doesn't cost the merchant page speed. Its signature catalogue recognises the major coupon and cashback extensions, six AI shopping agent signatures and the common automation frameworks.
  • An ingest pipeline on Redis Streams, a worker for rollups, billing, insights and lifecycle jobs, and Postgres with row-level security built up over 75 migrations.
  • A dashboard and an embedded Shopify admin with a live session feed, attribution, an insights inbox, A/B experiments with guardrails and white-label PDF reports for agencies.
  • A Shopify app with a theme embed, a web pixel and a Discount Function that enforces a strict code policy in extension sessions. A WooCommerce plugin and install guides cover other platforms.
  • An optional Cloudflare Worker that spots agents which only fetch pages and never run JavaScript.
  • A marketing site with documentation, pages for each audience, playbooks and articles.
The Benson AI agents view showing agent share, automation share, code attempts and policy blocks
The AI agents view in the demo store: how much traffic is agents or automation, whether it buys, how many codes it tries and how many attempts the policy refused. Sample data.

The hardest lesson from the original Benson shaped one decision in particular. Shopify doesn't let any app change what extensions show at checkout, so the new Benson treats the storefront and the checkout as two different jobs. It hides pop-ups on storefront pages, and at checkout a Discount Function decides which codes work. I didn't want to promise a merchant something Shopify could take away again.

The Benson pop-up blocker with a holdout running, comparing a control group with blocked sessions
The pop-up blocker in the demo store with a holdout running. One group still sees the pop-ups, so the difference in revenue per session is measured. Sample data.

Treat AI agents as customers too

AI agents show up twice in Benson. The first time is as traffic. Stores are starting to see shoppers who are really software acting for a person. They'll need to decide what those agents can see and do, including how many codes they're allowed to try. That's conversion rate optimisation for bots, and I think it'll matter as much as it does for people.

The second time is as an interface. Benson has its own MCP server, which uses the protocol AI assistants use to connect to other tools, so a merchant can ask their own agent about their store. Every change an agent proposes is previewed first and needs the merchant's confirmation before it happens. After a fortnight of building with agents, I wasn't going to let one change a store's checkout without a person saying yes.

Make the launch part of the product

The same approach carried on past the code. In the second week, I spent most of my time on the launch and had agents produce the material from briefs I wrote:

  • A press release, a short wire version, a fact sheet with approved quotes, pitch emails and an interview brief.
  • A target list of 192 researched outlets, wires, directories and communities. The day after the relaunch, 19 individually written pitches went to e-commerce and retail trade press, alongside newsletter and community posts.
  • Eight articles on trybenson.com covering coupon control on Shopify, holdout measurement, partnership decisions and the MCP server.
  • A lead magnet, Discount Extensions 101: The BFCM Playbook, researched, fact-checked and laid out as a PDF.
  • A launch film and ten explainer films built in Remotion with a voiced mascot host, plus ad cuts for Meta, Reddit and X.
  • A Shopify App Store submission on 3 October, with review videos and the fixes Shopify's checklist asked for.
How Benson works, one of the ten explainer films. The film, voice-over and music were produced in the Benson repository alongside the product.

Measurement went in before the traffic did. PostHog tracks the product journey, and server-side conversion APIs for Meta, Reddit, LinkedIn and X follow the consent each account gives at sign-up.

What it felt like

I've been building products for fifteen years, and the constraint has always been the same. I knew how to build most of what I could imagine, but I had the same 24 hours as everybody else, so ambitious ideas got cut down or never started. Benson is the first time that constraint didn't decide the scope.

Honestly, it felt a bit unstoppable. That isn't because the agents are magic. It's because the work that used to eat my weeks, such as scaffolding, plumbing and the fourth version of a settings page, now happens while I think about the parts that need me. The judgement is still mine. Separating the storefront from the checkout, putting a holdout behind every switch and refusing to promise what Shopify won't allow all came from having run this business before. The agents made it possible to act on all of it at once.

Benson is a work in progress. The Shopify App Store review is pending, the Product Hunt launch is set for 13 October and the backlog keeps growing. But the product is live, and what I'm proudest of is that it exists at the size I imagined it.

trybenson.comBenson

See which coupon extensions and AI agents shop your store, and decide what they're allowed to do.

Research and sources

Checked 2026-10-07. Next review: 2027-04-07. Listings and availability can change.

  1. The original discount extension blocker is back

    Benson · Checked 2026-10-07 · Primary source

    The 2022 early-access launch, the move of Shopify Plus checkouts to a sandbox in August 2024, and the relaunch on 4 October 2026.

  2. checkout.liquid

    Shopify · Checked 2026-10-07 · Primary source

    Shopify marks checkout.liquid as deprecated and documents the sunset dates for checkout customisation.

  3. Rakuten Advertising becomes first major network to remove PayPal Honey following attribution controversy

    Affiverse Media · Checked 2026-10-07 · Secondary source

    Rakuten Advertising removed Honey from its network in January 2026.

  4. impact.com just kicked Honey off its network

    PPC Land · Checked 2026-10-07 · Secondary source

    impact.com removed Honey from its network in January 2026.

  5. Awin confirms Honey violated affiliate policies

    PPC Land · Checked 2026-10-07 · Secondary source

    Awin said its investigation found breaches of its publisher policies by Honey.

  6. Your coupon control worked. How do you know?

    Benson · Checked 2026-10-07 · Primary source

    How Benson measures each control against a holdout group.

  7. Ask your AI agent about your store, and approve every change it makes

    Benson · Checked 2026-10-07 · Primary source

    The Benson MCP server previews every change and asks the merchant to confirm it.

  8. Discount Extensions 101: The BFCM Playbook

    Benson · Checked 2026-10-07 · Primary source

    The Black Friday and Cyber Monday playbook published as Benson's lead magnet.

People and organisations mentioned

Work with me

What are you working on?

Have an idea you've been cutting down to fit the time you've got? Tell me what it is, and I'll tell you how I'd build it.

Start a project with me ↗
Doug SilkstoneFounder, builder & operator

I work across engineering, product, analytics and growth. These articles draw on the products I build and the work I do with clients.

About me · More articles by Doug