Login Lockdown: an AI-created Craft CMS plugin
The narration of this post was created with Bespoken plugin for Craft CMS.
I recently published a new plugin for Craft CMS called Login Lockdown. It monitors login attempts on your Craft CMS site and, if failed login attempts surpass a threshold you define, the login process from that IP address is locked down for a specified amount of time. You can configure the plugin to notify you about lockouts (via email and/or Pushover notifications) or let the system run silently on its own. The control panel shows a log of lockouts from the past 30 days.
The idea for this plugin is not a product of my own creativity. It’s the result of envy — specifically, envy of functionality I have on a WordPress site that I maintain for a friend.
My friend’s WordPress site uses a security plugin that does roughly what Login Lockdown does. That plugin sends me an email whenever a lockout occurs.
I’ve been surprised by how much malicious traffic his login page receives, and I wanted something similar for my Craft sites. I decided to tackle building this plugin from the jump using AI.
From code monkey to code conductor
As of January 2026, I’m deep into my AI-coding journey. Unless you’re ignoring AI entirely, it won’t surprise you to hear that my AI tool of choice is Claude. That said, I’ve been on this path since the early versions of Copilot were introduced in 2022.
I’ve proven to myself that AI-assisted development makes me a more productive developer. Proof? I went all-in with Kiro, Amazon’s AI-powered IDE, in late 2025 and entered the Code with Kiro Hackathon with a project called Upload Drive-In. I won first place.

That success only increased my use of AI. The capabilities of AI coding agents seem to improve every week. This bullet train has left the station.
Back in the olden days — meaning a couple of months ago — I used AI as an assistant. I would build out the skeleton of a project myself and have AI help fill in pieces. I’ve since transitioned from coding the frameworks of an app on my own to relying on AI as the primary coder, working from project requirements that I define.
In this setup, I see my role as an orchestral conductor rather than a solo musician. If you’re an AI skeptic, I can already imagine your reaction, because I went through my own process of coming to terms with this way of working. In my opinion, you can choose to work this way or not — but using AI coding tools makes you more productive, and being less productive is a choice that comes with its own costs.
A Daily MVP
I want to show you what I mean by productivity.
I create new things with AI nearly every day. When an idea comes to me, I try to build it and see what happens. Not everything I build is polished to the point where it’s ready for others to use.
I’ve read the argument that many of these creations could be considered “slopware” or “shovelware.” And yes, many AI-generated projects probably are. But the ones you run through your own personal filter — your standards for what makes good software — don’t have to be.
I think of these creations as micro-MVPs: minimum viable products built just far enough to solve a single problem for me. If something proves useful over time, I might invest more effort to polish it, make it reusable across my own projects, or share it with others.
Here are just a few of the things I’ve built recently with AI. Not all of them link to code, because some aren’t usable by other people — at least not yet.
- A screenshot service built with Laravel for use on my Links page
- A Gemini-powered tool that writes descriptions of bookmarked pages
- A Craft module that enables passkeys for front-end login forms
- A TRMNL plugin to track Metro-North trips
- Draw Agent, a workspace for experimenting with generative SVG art
- A set of generative art utilities forked and extended from an older repo
- Upload Drive-In, the hackathon project my clients use to send large files
- A fix for a memory leak in my progressive share web component
- An update to the Bespoken plugin to close a long-standing issue
- Uptimer, an uptime monitoring tool built with Laravel
- A self-hosted secret-sharing tool built with Laravel
- An invoicing site with Stripe integration
- A TypeScript library for creating and displaying Deep Zoom images
- A script to simplify favicon creation in Craft CMS while preserving my existing build process
- A script to generate critical CSS using Beasties in Craft CMS
- And the list goes on
Login Lockdown — an AI-built Craft CMS plugin
Most of my AI-driven development has been PHP-based, primarily using Laravel. I have a baseline knowledge of Laravel from the pre-AI era and have built non-complex client projects with it. That said, most of my PHP work has been powered by Craft CMS.
Login Lockdown is one of those projects that felt genuinely useful beyond my own needs. I built it using Claude and decided to share it with the Craft CMS community in the hope that it helps someone else.

Break out your dream board
Every developer I know has a list of ideas for things to create that they’ve never gotten around to building. Go find that list.
If you’re curious about AI-assisted development but hesitant to trust it with “real” projects, Login Lockdown is proof that you don’t have to start big. Start with something small, useful, and contained. You might be surprised by how far you get — and how your role as a developer begins to shift.
AI makes ideas cheap to explore. Without AI, Login Lockdown might have remained a note in a text file. With it, I was able to move from idea to working plugin quickly, iterate with confidence, and ship something real.
For me, that’s the real story here: AI didn’t replace my judgment. It amplified it.
And that leads to my final thought. If you’re reading this, you’re likely a Craft CMS developer — or maybe a Laravel developer. Regardless of what you’ve read in blog posts or seen on YouTube, AI coding may bring coding to the masses, but experienced developers still have a significant advantage. You know how to shape ideas, evaluate tradeoffs, and ensure that what’s generated actually matches your vision. Use the skills you already have to your advantage.
If you end up building something with AI that you want to show me, I’d love to see it. Good luck.