Home/Case Studies/RobotX Workshops
Website · 8 weeks

RobotX Workshops now sell their seats in eight languages without anyone in the loop.

RobotX Workshops teach hands-on drone and autonomous-driving courses in Berlin, on real hardware and in eight languages. The site now sells the dates and confirms the places by itself.

RobotX Workshops homepage on desktop and mobile
ClientRobotX Workshops
SectorTechnical education
MarketGermany
Timeline8 weeks
ServicesWordPress Development, Custom Development, UI/UX
100sBookings, week one
8 wksTo launch

01The challenge

RobotX Workshops teach drone flight and autonomous driving in Berlin, on hardware students actually put their hands on. Courses run in eight languages, in small groups, on fixed dates, with instructors who fly and drive themselves. The teaching was never the weak part. What the business had built was a timetable, and a timetable is a product.

Selling a timetable is harder than selling a product. A drone course has a hard seat limit, set by how many machines are in the room. An overbooked session is not a database conflict. It is somebody standing in a doorway who has already paid and already travelled to be there.

Add eight languages and every date, description and confirmation exists eight times over. Places were taken by hand, which works until two enquiries arrive for the last seat within an hour of each other. A booking plugin handles one of those problems and quietly breaks the other.

02Our approach

UX

A student picking a workshop is not choosing a subject first. They are checking which weekend they are free, then seeing what runs on it. So the browse page was planned as a list of dates with the seats remaining on each, and the course description was put behind it. Sorting by course is the version that loses bookings.

Technical

Eight languages is a content problem rather than a translation problem. The decision was to enter a session once — date, seats, hardware, instructor — and let the language layer sit over it. Translators would touch the words and never the schedule, so a course could not exist in one language and go missing from another.

Conversion

Capacity that exists in the physical world had to be held at the start of checkout, not checked at the end. Two people opening the last place on a Tuesday session is normal traffic, not an edge case. Anything looser turns a confirmed booking into an apology somebody on the team has to write by hand.

03Design & UX

The browse page leads with the calendar, because the date is the question a student is actually asking. Each row carries the day, the language, the hardware and the number of places left. The writing about the school sits below that, where somebody who has already found a workable weekend can read it if they want to.

On a phone the list has to be readable at arm length, so a row is a date first and everything else second. Places remaining are stated plainly rather than drawn as a bar, because a number is something a student can act on. The booking form asks for what a place needs and nothing that can be asked later.

Dates before courses

Students shop by the weekend they are free, so the list is ordered by date and the course description sits one tap behind it.

Seats held at checkout

A place is held the moment somebody starts paying, and released if the payment does not complete. A hesitant student never locks a seat nobody else can have.

One schedule, eight languages

A session is entered once and translated over the top, so no date can appear in one language and be missing from another.

Seat counts in the open

The places left are shown on the row itself, because a student choosing between two weekends needs to know which one is nearly gone.

04Development & technical implementation

The site runs on WordPress with sessions modelled as their own content type in ACF Pro. Date, language, hardware, instructor and seat limit are structured fields rather than typed copy, so the team adds a session without touching a template. WPML sits over that model, which is why a translator never sees a date.

Seats are counted in one place and held the moment someone starts paying, not when they finish. The hold is released if the payment does not complete. That single rule is what stops two students buying the same last place while both are still filling in their details on a busy evening.

The seat limits were not written down anywhere. They lived with the instructors, who knew that a session runs with as many students as there are working machines that week. Getting those numbers onto paper took longer than building the booking flow, and it was the part that had to be right first.

05

Key solutions.

The parts of the build a visitor would point at.

01

Browse by date

Upcoming sessions are listed by the day they run, so a student checking which weekend is free finds the course rather than the reverse.

02

Seats held, not counted late

A place is reserved when payment starts and released if it fails, so the last seat cannot be sold twice on a busy evening.

03

Eight languages, one schedule

Dates and seat limits are entered once and translated over, so no session appears in one language and goes missing in another.

04

Sessions as structured records

Date, hardware, instructor and capacity are fields the team fills in, so a new workshop goes live without a developer being called.

05

Confirmed without a reply

A student picks a date, pays and holds a confirmed place immediately, which is why bookings now arrive while the team is asleep.

06

Capacity the room can hold

The number on the page is the number the instructors work to, so what a student sees matches the machines available that week.

06

The result.

What the work changed, in the numbers the client reports.

100sBookings, week one
8 wksTo launch

Week one brought 100s of bookings, and not one of them needed a reply. That is the difference between a site that describes a course and a site that sells one. Sessions that used to fill through an inbox now fill overnight, while the team is asleep.

No session has been oversold since launch, which matters more than the volume did. The seat count on the page is the same number the instructors work to, so what a student sees is what the room can hold. Nobody has had to write the email that takes a place back.

The eight languages went live together rather than one at a time. A student reading in German and a student reading in any of the others see the same schedule, with the same places left, on the same day. That was the part most likely to break, and it is now the part nobody checks.

07

The finished site.

Live, and running the business it was built for.

RobotX Workshops homepage on desktop and mobile

The RobotX Workshops site is live and running the schedule itself. Upcoming sessions are listed by date, in eight languages, with the places remaining on each. A student picks a weekend, pays and holds a confirmed seat, and the instructors work to the same number the page shows.

Visit the live site

The first week was busier than we planned for. Nobody had to answer a booking email, which is the part we still notice.

— Founder, RobotX Workshops
09

Tech stack.

What it is built on, and what it talks to.

WordPressACF ProWPMLGA4Hotjar
10

More case studies.

Other projects where we named the number before we started.

Attackletics homepage on desktop and mobileeCommerce

Attackletics doubled sales with a neon storefront that opens like a plain one.

A smart batting tee and a finished coaching app, sold from a stock theme. Rebuilt in neon and scanlines, without making the phone pay for it.

2×Sales
+35%Order value
View case study
Applied Vision Baseball homepage on desktop and mobileeCommerce

Applied Vision Baseball left a coaching site for a store that shows gear working.

Vision and swing trainers that make no sense in a photograph. Moved out of a coaching site and onto a storefront built around the demonstration.

+46%Conversion
+56%Organic traffic
View case study
MindPanda homepage on desktop and mobileeCommerce

MindPanda built its own channel and pushed Amazon into second place.

An established Amazon seller with no channel of its own. Catalogue ported across, two markets configured, and a storefront designed to convert rather than list.

7 figuresDirect revenue
No.1Channel, ahead of Amazon
View case study
03

Let us look at your numbers.

Send the metric that is stuck and we will tell you honestly whether we agree.

Free consultation — 30 minutes, no obligation, senior lead on the call
1
Within 1 business dayWe read it properly and reply with real questions — not a templated brochure.
2
A 30-minute scoping callFree, no obligation. We tell you honestly if we are the wrong fit.
3
A written proposalScope, timeline, deliverables and the success metric — all on one page.
SAR+
You'll hear back from Sayan or a senior lead — never a bot.

    Your details
    What do you need?
    eCommerce buildCRO & testingWebsite designApp / SaaSDesign & brandingSomething else
    NDA on request · Details never shared
    Question about your project? Tell us in 30 seconds — a senior lead replies.