Skip to Content
← All Work

Case study · Prepare.sh · 2025–2026

Building an interactive AWS training platform

Designed and implemented an interactive AWS training platform by extending LocalStack to replicate and support core capabilities associated with LocalStack Pro, integrated into a custom frontend and backend.

At a glance

Extended to cover core LocalStack Pro capabilities
LocalStack
Frontend and backend integrated around it
Custom
Interactive AWS training for learners
Hands-on

Role · Founding Engineer, Cloud & DevOps

What I did

  • Built the AWS training platform: its graphical frontend, its backend and the simulation layer.
  • Extended LocalStack to replicate and support core capabilities associated with LocalStack Pro.

Team context

What the team did

  • Prepare.sh’s wider platform, content and product were built by the team.

01

Context

Prepare.sh is a developer-education platform built around hands-on technical practice, with question sets for topics such as Linux and Kubernetes. The AWS track was different: it needed a graphical interface for working with AWS services.

I built that platform. LocalStack, which emulates AWS services locally, is its simulation layer.

02

Problem

Give learners an AWS practice experience with a graphical interface, working against simulated services in place of live cloud accounts, delivered through the platform’s own frontend.

03

Constraints

  • Core capabilities associated with LocalStack Pro were needed.
  • The simulation had to plug into a custom frontend and backend.
  • It had to work as a user-facing, interactive learning experience, not just a developer tool.

04

Architecture

AWS training platform architectureA learner uses a custom frontend, which talks to a custom backend, which drives LocalStack extended to support core LocalStack Pro capabilities and simulate AWS services.Learnerhands-onFrontendcustom GUIBackendcustomLocalStackextended for coreLocalStack Procapabilitiessimulated AWS
Fig. 01: Architecture

Architecture of the training platform.

  • Learners interact with a custom frontend.
  • A custom backend mediates between the frontend and the simulated AWS services.
  • LocalStack, extended to cover core Pro capabilities, simulates the AWS services.

05

Alternatives

What happened

The work extended LocalStack rather than using it unmodified.

Retrospective analysis

Use LocalStack Pro directly
Avoids building the capabilities, in exchange for a commercial dependency and less room to shape behavior around the product.
Real AWS sandbox accounts
Highest fidelity, but brings cost, cleanup and abuse concerns for every learner.
Static walkthroughs
Cheap, but not hands-on.

06

Decision

Extend LocalStack to replicate and support the core capabilities associated with LocalStack Pro, and integrate it into a custom frontend and backend so the experience fits the platform.

07

Implementation

  1. 01

    Simulation layer

    Extended LocalStack to cover core capabilities associated with LocalStack Pro.

  2. 02

    Backend

    Built a custom backend that connects the learning experience to the simulated services.

  3. 03

    Frontend

    Built a custom frontend so learners can work with AWS services interactively.

  4. 04

    Integration

    Connected the three layers so that infrastructure behavior shows up in the learner experience.

08

Results

  • An interactive AWS training platform, designed and implemented, bringing cloud-service simulation into an interactive learning environment.

09

Trade-offs & Failure Modes

From the project

  • Extending an emulator means owning behavior that the upstream product or its commercial edition would otherwise provide.

General analysis

Fidelity
Emulated services can differ from real AWS in edge cases, which matters when training someone for the real thing.
Upstream drift
Extensions need maintaining as LocalStack and AWS APIs change.
Scope
AWS is large; each additional service is more behavior to replicate and test.

10

Lessons

  • Simulation is a product decision as much as an infrastructure one: fidelity should match what the learner needs to learn.
  • Making infrastructure behavior visible in a user-facing experience changes how you design the layers underneath.

11

Questions People Ask

The follow-ups this work tends to raise, answered directly.

Why did AWS need its own platform?

Prepare.sh offers hands-on practice across topics such as Linux and Kubernetes. The AWS track needed a graphical interface for working with AWS services, so I built the platform around an extended LocalStack.

What is it?

An interactive AWS training platform where learners work with simulated AWS services, delivered through a custom frontend and backend.

What did you build?

I designed and implemented it: extending LocalStack to replicate and support core capabilities associated with LocalStack Pro, and integrating it into the custom frontend and backend.

What are the limits of a simulated approach?

Emulated services can differ from real AWS in edge cases, so fidelity has to match what the learner needs to learn.

General context