All PPC Tools. A Directory That Mostly Runs Itself
My PPC tool directory, rebuilt from a Google Sheet into a Laravel app where agents research every submission and draft the listing, and I approve what goes live. 129 tools, 18 categories, and a free MCP server so your AI can search it too.

About All PPC Tools
Independent directory of PPC tools, scripts, communities, podcasts and events
All PPC Tools is my own little corner of the internet for PPC people. Tools, Google Ads scripts, communities, podcasts and events, all in one place and all picked by a human who works in Google Ads every day. It started in October 2024 as a side project and quietly grew to about 3,000 visitors. No VC deck behind it, just a directory I wanted to exist.
The Challenge
The first version ran on a directory platform with a Google Sheet behind it. Every new tool meant researching it, writing the description, pasting it into the sheet and emailing the person who submitted it, all by hand. Trying to automate any of that felt like punishment, so mostly it didn't happen. The rebuild sat on my goal list for months, got parked in August, and was one check-in away from being struck off completely.
What I Built
A Laravel 13 app on my own Hetzner server. Someone submits a tool, a research agent looks it up on the web, and a second agent drafts the tagline, description and SEO copy. I get the sources, a risk assessment and the proposed copy in a Filament review desk, edit what I want and hit approve. The listing goes live and the submitter gets an email. On top of that sits a public MCP server, so anyone can ask Claude or Codex to find a PPC tool for the job in front of them, plus scheduled jobs that refresh old listings, pick a weekly tool for the newsletter and sync featured-spot payments. Agents do the legwork. I still decide what gets in.
How I Think About It
The features don't make the system. The ideas behind them do.
Agents prepare, I decide
There are no automatic rejections, and listing review is the one part that's still 100% human. The agents save me the blank page, not the judgement call. In one week in September I rejected three tools that weren't good enough.
Least privilege per agent
The researcher can search the web but can't touch the database. The copy agent can't do anything except write text. Publishing is application code, never a model call.
Build for the reader's AI
More and more people find tools by asking an assistant instead of Google. So the directory ships an MCP server and an llms.txt next to the normal website, and I can see which questions people really ask.
Let the model try first
I'd been treating this rebuild as a big project because a few months ago it was one. Codex built most of it in one conversation after a single planning session. The idea was smaller in my head than it needed to be.
How a Tool Gets Listed
A directory is only as good as what you let into it. So the submission flow is built like a filter with a human at the end, where every step before me exists to make my decision faster, not to make it for me.
- 1
Submit
Someone fills in the form with a name, URL and optional icon. Anti-spam checks run and the submission lands in the queue. I get an email.
- 2
Screen
Submission text is treated as untrusted. Common prompt-injection patterns get flagged before any model call happens.
- 3
Research
The research agent gets the name and URL, searches the web and comes back with sources, an authenticity assessment and risk flags.
- 4
Prepare copy
A second agent with no tools writes the tagline, description, search title and meta description, grounded in the cited sources.
- 5
Human reviewHuman gate
Sources, flags, icon and proposed copy side by side in the review desk. I edit, approve, reject or send it back for fresh research. Nothing goes live without me.
- 6
Publish
Approve & publish pushes the reviewed fields live and the submitter gets an email with a link to their listing.
The agents do the boring part, the research and the first draft. I keep the part that makes a directory worth visiting, saying no :D
What This Changes
Time and cost spent on repetitive work, before and after.
| Task | Manual | With All PPC Tools | |
|---|---|---|---|
| Researching a submitted tool | Manual, every listing | Agent, with sources | |
| Writing tagline and description | From scratch | Edit a draft | |
| Approval email to submitter | Written by hand | Sent on approve | |
| Refreshing old listings | Never happened | Weekday batches | |
| Picking the weekly tool email | Didn't exist | Drafted, I review |
Researching a submitted tool
Writing tagline and description
Approval email to submitter
Refreshing old listings
Picking the weekly tool email
The directory went from something I avoided maintaining to something that grows while I work on client builds.
The Solution
Rebuild it as a real app and let the agents run the day-to-day. After launch I gave Codex a goal, grow this into a $150 a month directory, and it now runs scheduled checks and proposes features it thinks make sense. I approve every idea before it ships. Since launch the directory picked up an MCP server, click and AI search counts on the cards, a Podcasts category and paid featured spots, with the agents doing most of the building. It already made its first $25. Not retirement money, but not bad for a directory that mostly runs itself.
Laravel 13, PHP 8.5, Filament 5 and the Laravel AI SDK on a Hetzner server with PostgreSQL. All 109 listings from the original Google Sheet migrated with their slugs, links and logos intact, so nothing broke for search engines. Tested releases deploy automatically.
- 109 legacy listings migrated with original URLs intact
- Two-agent research and copy pipeline with a human gate
- Free public MCP server with query analytics
- Weekly reviewed tool newsletter
- Paid featured spots through Moneybird, clearly labelled
- Feature and test suites on SQLite and PostgreSQL
Results
Related Reading
How to Keep Up With AI Without Burning Out: Focus on the Base Layer
You don't need to learn every new tool. You need to build the base layer. Once you have that, keeping up is just reading what's new and applying what you already know.
Read →
What I Learned Building 30+ AI Agents for Marketing Teams in One Year
More about mindset than technology. FOMO, scaling chaos, and why you're building a hotel — not pitching a tent.
Read →
85% of My AI Projects Are in the Trash — And That's Exactly Why the Rest Work
A year of failed AI projects taught me more than any tutorial ever could. Here's what the trash pile taught me about specs, patterns, and why failure is the best teacher in AI.
Read →
Still running something on a spreadsheet?
I build systems where agents do the research and the first draft, and your team keeps the final call. If there's a process you keep putting off because it's all manual, reach out. Happy to map out what it looks like.
Let's talk