CyberSim — An Interactive Cybersecurity Learning Platform
Inspiration
I started studying cybersecurity and kept hitting the same wall: I could read about SQL injection, memorise the definition, and still have no real feel for how it actually worked or why a particular defense stopped it. Every resource either hand-waved the details or required setting up a whole lab environment before you could touch anything.
I wanted something I could open in a browser, break something, fix it, and immediately understand what changed — with zero setup and zero friction. Nothing quite like that existed, so I built it.
What I Built
CyberSim is a browser-based learning tool with many parts:
- 20 interactive security labs — configure real defenses, run a simulated attack, and see it either succeed or get blocked
- A 147-term glossary — plain-English definitions and ELI5 explanations for every concept you'll encounter studying for Security+, CEH, or working through CTFs
- An interactive certification map — 37 certifications plotted across 9 domains, ranked by industry value and how beginner-friendly they actually are
No install, no login, no prior experience needed.
How I Built It
I used React and Tailwind CSS, keeping the stack as simple as possible so I could focus on the learning experience rather than the infrastructure. The entire app runs client-side — there's no backend, no database, nothing to deploy beyond a static site.
Each lab is a self-contained simulation. Clicking a defense toggle doesn't call an API — it changes how the browser evaluates your attack input, so the feedback is instant and the cause-and-effect is obvious.
Challenges
Getting the simulations to feel real without being overwhelming was harder than I expected. Each one needed to be convincing enough to actually teach the concept, but simple enough that a beginner could follow what was happening. I went through a lot of iterations before each lab's core mechanic clicked.
I also underestimated how much the failure states matter. A lab where you get the wrong answer needs to clearly explain why — not just tell you that you're wrong. Building good, honest feedback for every possible outcome took as much work as building the happy path.
What I Learned
Building the labs forced me to understand every vulnerability at the implementation level. You can't write a convincing SQL injection simulation without truly understanding why a prepared statement defeats it. The project taught me more than any tutorial I'd read, precisely because I had to get every detail right for it to work at all.
What's Next
More labs, a guided learning path that sequences content by difficulty, and better mobile support.
Built With
- javascript
- tailwind
- vite
Log in or sign up for Devpost to join the conversation.