Allwin Academy · 2026

A trading school that needed to sell courses, not just describe them.

Build story

The Allwin Academy site - a trading course platform built on WordPress with an integrated LMS.

Role

  • web
  • seo
  • build

Stack

  • WordPress
  • Elementor
  • LearnDash
  • WooCommerce
The problem
Allwin Academy had courses to teach and an international, mostly-mobile audience to reach - and a site that could do neither the selling nor the teaching.
What I built
A full learning platform on WordPress: a custom Elementor build over a wireframe-to-pixel design system, LearnDash for course modules and progress, WooCommerce and Stripe for the actual purchases, and certification workflows behind it.
The result
A site that enrolls, charges and certifies students on its own - with the schema, Core Web Vitals and security work done so it ranks and stays up.

Someone eight time zones from the school decides at midnight that they're going to learn to trade, on a phone, with a card in their other hand. Everyone who works there is asleep. Either the site takes that money and hands over the first lesson by itself, or the sale doesn't happen - and it doesn't happen quietly, so nobody ever finds out it nearly did.

Landing pages shaped to convert, not to fill a template.

That's the actual specification. It's also why this isn't a brochure with a Buy button glued to the side of it.

The reasonable question first, given that most of the rest of this portfolio is about moving people off WordPress: why WordPress. Because the two halves of this thing are a learning platform and a store, both of which already exist and are maintained by people whose entire job is maintaining them. Rebuilding an LMS and a checkout from scratch to avoid a page builder is how you spend a client's budget on your own preferences. The tool follows the job. It's the same reasoning that sent the dealership in the opposite direction.

Design before plugins

I designed it wireframe-to-pixel first - a real system in Figma before a single WordPress plugin got touched. That order matters more on WordPress than it does anywhere else. Start inside a page builder and you end up designing whatever the builder finds easy, and a month later the site is shaped like the tool instead of like the sale.

Then I built it as a custom Elementor theme rather than buying one. A purchased theme hands you somebody else's opinion about what a landing page is, plus every feature they built for their other thousand buyers, and you carry the weight of all of it on every page load forever. Building the theme meant the marketing pages could stay conversion-shaped rather than template-shaped.

Two halves that have to meet

The teaching half is LearnDash: course modules, progress tracking, certificates at the end.

The selling half is WooCommerce and Stripe, so buying a course is a checkout rather than an email exchange and an invoice somebody has to remember to send.

Getting those two to sit in one site is most of the actual labour, and none of it shows up in a screenshot. Elementor, LearnDash and WooCommerce each turn up with their own firm opinion about what a page template is and which parts of it they own. The marketing page belongs to one, the course belongs to another and the checkout belongs to a third, and left alone they produce three sites wearing the same logo. Making them read as one thing is the job.

The two halves meet at enrollment, and that join is the whole build. Pay, and you're inside the course - no one issues anything, no one has to be awake, nothing waits in a queue until office hours in a country the student doesn't live in. It's also the part worth testing hardest, because a broken handoff there looks exactly like a working site right up until the moment somebody has paid and can't get in.

The unglamorous list

Schema markup, Core Web Vitals work, a sitemap. SSL, firewall rules, brute-force protection on the login.

The security half of that isn't optional on WordPress specifically. A site with a login page, a student database and a payment processor attached is a target on its own merits, and "nobody knows we're here" has never been a control. It gets found by something automated within days of going up.

Most of the students arrive on a phone, so mobile isn't a fallback layout that gets checked at the end. It's the design, and the checkout is where that gets decided - it's the one screen where a bad small-screen call costs actual money rather than goodwill.

None of that list is interesting to look at. It's the difference between a site that ranks and stays standing and one that quietly stops doing either, and it's the work that isn't in the screenshots.

The result is a school that enrolls, charges and certifies on its own, at whatever hour its students happen to be awake. Which means the people running it get to teach, instead of processing orders for a course they've already recorded.

The site is theirs now - handed over, running on its own. I still do the monthly maintenance, which on WordPress isn't optional so much as it's the rent you pay for the plugin ecosystem.

Two ways on from here: the next case study - I wanted to inspect a page without opening DevTools. So I built the button, or the films.