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
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
- 01
Simulation layer
Extended LocalStack to cover core capabilities associated with LocalStack Pro.
- 02
Backend
Built a custom backend that connects the learning experience to the simulated services.
- 03
Frontend
Built a custom frontend so learners can work with AWS services interactively.
- 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