Mass-Producing LPs by Running Devin from Slack: From One-Week Requests to About One Hour
- Published
- Tags
- AI, Automation, Slack, Devin
Introduction
At a marketing company I supported, requests to add or change landing pages (LPs) went to engineers. From the request until the change could be checked on the staging environment took about a week.
So I built a system where marketers can make requests from Slack. The changes are written by Devin, an AI agent, and deployed to a staging environment. The time from request to staging check is now about one hour.
This article covers five topics:
- Why adding or changing an LP used to take a week
- How I split the work and the decisions
- What I fixed and what I left selectable to make A/B testing possible
- The overall structure of the system
- How I handled a change in Devin's specifications during operation
The intended readers are executives and business owners who want to produce LPs efficiently. I keep the technology to names and brief explanations and don't go into the details of how it's built.
1. Adding one LP took a week
At this company, engineers implemented the LPs. When an LP was added for an A/B test, or an existing LP needed a small revision, marketers asked engineers to do it.
Engineers had other tasks and priorities. Even when an LP change was decided suddenly, it couldn't be started right away. As a result, it took about a week from the request until the change could be checked on the staging environment.
2. Devin does the work, engineers make the decisions
To eliminate waiting in line, I changed who does the work.
Devin is an AI agent that takes instructions, writes code, and carries the work through to submitting the changes. Tasks with fixed steps, such as adding or changing an LP, are handed to Devin.
The final decisions still rest with engineers. The changes Devin makes arrive as a PR (a proposal of the changes that is reviewed before it is merged). Engineers review it and then merge it. The engineer's job changed from "implement and publish" to "check and approve".
Marketers write the LP content in a spreadsheet they already use. Marketers appreciated this the most after the introduction.
3. Standardized the layout and decided what can be selected
All LPs share the same layout. On top of that, each LP can be configured with three options:
- Color theme
- Form type (document request / inquiry)
- Whether to use a step form (a form that splits the input fields across several screens)
I didn't make it a free-form instruction so that the variants can be compared fairly in A/B tests. For example, to know whether a step form or a regular form leads to more conversions, the other conditions have to be kept the same.
Because the options are columns in the spreadsheet, you can see at a glance which LPs use a step form.
4. Overall structure

The flow is as follows:
- A marketer enters the LP data in the spreadsheet.
- The marketer sends a request from a Slack workflow (a form for sending standard requests in Slack).
- Devin handles placing the images, implementing the page, creating the PR, and deploying to the staging environment.
- When it's done, a notification arrives in Slack, and the marketer checks the behavior on the staging environment.
- An engineer reviews the PR and merges it.
The procedure for Devin is summarized in a Playbook (the instruction manual given to Devin). I made small adjustments while checking how it behaved, but there were no major problems.
The LPs themselves are built with the following technologies:
- Astro: a framework for building fast-loading static pages
- S3 × CloudFront: AWS file storage and delivery. The built pages are placed here and published.
All LPs are kept in a single repository and reuse the common layout described in section 3 (a monorepo).
5. Devin's specifications changed during operation
Partway through operation, Devin's specifications changed. Slack could no longer invoke Devin unless the user was registered as a Devin user.
Under the plan in use at the time, Devin was not priced per user. So I registered the marketers as Devin users. However, registered users can also access other repositories from Devin's admin console. For that reason, I asked the marketers not to operate the Devin admin console.
Closing
Adding or changing an LP now goes from request to staging check in about an hour. Engineers' work has shifted from implementation to verification and approval.
This approach suits companies that:
- Publish many LPs with a fixed layout
- Want to compare variations such as form conditions through A/B tests
- Have engineers with other tasks, so LP requests end up waiting