There’s a moment in most projects where the scope hits you. Where the thing someone wants collides with the reality of what it costs to build it, and the room goes quiet.
I had that moment not long ago, sitting with a quote for a client who had come to us with an idea for a custom e-learning platform. A full LMS. Live video classes, an interactive whiteboard, scheduling, attendance tracking, multi-role dashboards, multilingual support, resource management, and a mobile app to tie it all together. The kind of product that, done properly, is a serious piece of software.
The development estimate came to 390 hours. The design estimate — research, UX flows, wireframes, branding, a full design system, high-fidelity UI, prototyping, and handoff — added another 120 to 175 hours on top.
We’re talking somewhere north of 500 hours of professional work. At agency rates, that’s a number that makes most clients’ eyes water.
The client couldn’t believe it. They’d had a vision in their head, a problem they wanted to solve, and no real frame of reference for what it would take to build the solution properly. They didn’t accept either quote — not the development one, and not the design one. Not because the quotes were wrong. But the true cost of custom software is something most people have never had to confront before.
They walked away. But they left me with a question I couldn’t stop thinking about.
What if WordPress could do this?
The Premise
I want to be upfront about something: I’m a WordPress developer. I know the platform well. I know what it can do, and I know what it struggles with. And when I looked at the requirements for this client’s platform, my instinct was that a custom WordPress theme — built properly, from scratch — could hit most of the brief at a fraction of the cost and timeline.
But I wanted to test that instinct. Not just sketch something out or throw together a page builder demo. I wanted to actually build it. A production-quality LMS theme, coded by hand, with real functionality — and I wanted to do it using AI as my development partner.
The result was ApexLearn.
What I Actually Built
ApexLearn is a fully custom WordPress LMS theme. No page builder. No starter theme. No plugins doing the heavy lifting. Every line of PHP, CSS, and JavaScript was written deliberately — with Claude as my collaborator throughout.
Here’s what the finished theme includes:
Custom Post Types and Taxonomies — course, instructor, and lesson CPTs registered entirely in code, with course_category and course_level taxonomies powering a dynamic course catalogue.
AJAX Course Filtering — live filtering by category and level with no page reload, a PHP AJAX handler secured with nonces, and GSAP stagger animations on the returned cards.
Dynamic Single Course Template — hero pulled from the featured image, real instructor bio and photo loaded from a linked instructor CPT, related courses queried by matching taxonomy, animated progress indicators, and a sticky enrol sidebar.
Simulated Enrolment Flow — a fully designed multi-step checkout modal with personal details, card fields, and a success state, built to demonstrate the UX without real payment processing.
Interactive Student Dashboard — five-panel sidebar navigation, animated metric counters, progress bars with CSS transition animations, tabbed course lists, an expandable activity feed, and functional settings toggles.
Performance and Polish — page transition fades, sticky navigation with hide-on-scroll behaviour, button ripple effects, scroll-triggered section reveals via IntersectionObserver, and image lazy loading.
Full Responsive Design — mobile-optimised across three breakpoints, with a hamburger nav, a catalogue filter drawer, and a dashboard sidebar that converts to a horizontal scrollable tab strip on small screens.
Seven-page templates. A complete design system built on CSS custom properties. GSAP animations throughout. And a 404 page, because the details matter.
How the AI Collaboration Actually Worked
I want to be honest about this, because I think there’s a lot of noise right now about what AI can and can’t do in development — and most of it misses the point.
I didn’t type “build me an LMS” and watch a theme appear. That’s not how it works, and that’s not what I wanted anyway.
What I did was bring a clear vision and a structured approach. I communicated how I wanted things to be architected. I worked through design iterations — describing what I wanted, reviewing what came back, refining until it felt right. Once the design direction was locked, the theme file was generated as a starting point. I uploaded it to LocalWP, opened Visual Studio Code, and continued building from there using Claude Code.
The process felt less like using a tool and more like working with a capable developer who happened to be available at 11 pm when I was trying to figure out why a GSAP animation wasn’t firing correctly on scroll. I’d describe the problem, we’d work through it, and I’d implement the fix. When I wanted to add a feature, I’d explain the behaviour I was after, and we’d figure out the cleanest way to build it.
The design system came out of that kind of back-and-forth. Three typefaces — Cormorant Garamond, Source Sans 3, and a mono stack. A teal/green brand palette. Generous whitespace, subtle shadows, a premium corporate feel that was informed by the client brief but elevated by the iteration process.
Where It Pushed Back
I said I’d be honest, so here it is: AI didn’t make everything easy.
There were moments where the generated code needed significant reworking. Where a suggested approach worked in isolation, but broke something else in the theme. Where I had to understand what was happening well enough to fix it, not just copy and paste a solution.
This is the part that I think gets lost in the “AI is going to replace developers” conversation. The AI made me faster. It reduced the friction of getting from idea to implementation. It handled a lot of the manual nuance that used to eat hours — the boilerplate, the syntax checking, the “what’s the WordPress function for this again” moments.
But it didn’t replace the need to think. To the architect. To make decisions about how things should be structured and why. The knowledge I’ve built over years of WordPress development wasn’t made redundant by AI — it was what allowed me to use AI effectively. Without understanding the WordPress template hierarchy, CPT registration, and how AJAX handlers work, I wouldn’t have known whether the generated code was good or just plausible-looking.
AI is a force multiplier. It’s not a substitute.
The Numbers That Matter
Let’s go back to that original quote for a moment.
The custom software estimate was 390 hours of development and up to 175 hours of design. At modest agency rates, that’s a project measured in hundreds of thousands of rands before you’ve written a line of code.
ApexLearn — a theme that covers a substantial portion of the core brief — was built by one developer, working with AI, in a fraction of that time. It’s not a pixel-perfect match to every feature on the spec sheet. Live video integration, real payment processing, and multi-tenant architecture are genuinely hard problems that custom software handles better. But the core experience — the course catalogue, the student dashboard, the enrolment flow, the instructor profiles — all of it works, all of it looks premium, and all of it was built without a team.
That gap is significant. And it’s only going to get more significant as AI tools improve.
My Honest Verdict
I’ll say it plainly: I’m genuinely impressed by what’s possible.
Do I think AI is going to take my job? Not yet. Not soon. The craft of development — the architectural decisions, the client communication, the problem-solving under constraint — still requires a human who knows what they’re doing. What AI has done is compress the timeline between having an idea and having something real. It’s removed a lot of the friction that used to make ambitious solo projects impractical.
For developers who are willing to adapt, that’s not a threat. It’s an enormous advantage.
ApexLearn started as a question: Can WordPress meet these requirements? The answer, built line by line with AI at my side, was a convincing yes.
The client who inspired it never saw the finished product. But the next client who comes to me with an ambitious brief will.
What This Means for the Industry
If you’re a developer reading this, here’s what I’d encourage you to think about: the developers who will struggle in an AI-assisted world aren’t the ones who know too much. They’re the ones who refuse to adapt.
AI doesn’t reward ignorance. It rewards people who understand their craft well enough to direct it, review it, and improve on what it produces. The bar for what one person can build has moved — significantly — and that creates opportunities for developers who are willing to work with the tools rather than against them.
I built a production-quality LMS theme by myself, using AI as a collaborator. That’s not a party trick. That’s a genuine shift in what’s possible.
And I’m just getting started.

Leave a Reply