Archival Copy: Archival / ADA Copy: Made available for ADA compliance and emergency archival purposes only, please default to original source available at https://www.hacktivate.app/why-teach-kids-to-hack .

Hacktivate

Why I’m teaching kids to hack computers

Paul Hudson, @twostraws, October 22nd 2025

When I was a teen, I learned about computers by trying things, breaking things, and fixing them again – relentless curiosity and experimentation, backed up by computers being much more open to investigation, allowed me to learn and grow.

Today’s computers are a lot more polished and a lot more safe, and I get why – most folks don’t want to think about the command line, don’t care about binary, and don’t even know about packet sniffing.

But I’m really keen to bring back the same experiences I had for a new generation, so I decided to do something about it: I built a huge “capture the flag” game that teaches kids 13+ how to do SQL injection, how to use rainbow tables to figure out hashes, how to use steganography to hide data in images, and more.

My goal was to take just a little of the glorified theatre you usually see in movies – the look and feel of games I loved like Syndicate, Command & Conquer, and Uplink – and mix it in with real-world skills around networking, cryptography, digital forensics, and more, to create something that teaches kids core computer science skills in a fun way.

I want to talk about my goals when building the app, some of the challenges I hit, the technology that’s used, and more – I hope it’s useful!

If you want to skip the reading and just try the app yourself, click here.

An iPad running Hacktivate, showing the world map.

What’s the problem?

There’s an abundance of “learn to hack” material already out there, but a lot of it has one or more problems:

Some of these are inevitable – if you want a serious career in cybersecurity, you do need to sit down and study a whole lot of theory!

But together these problems can create an off-putting environment: students want to know they are dealing with real tools and technologies, but they also want a clear path, they want some guidance how to move forward, and they also want it to feel exciting , particularly when they are just starting out.

That’s the gap I’m trying to fill – to make something structured, with scaffolded challenges that feel cinematic but teach practical skills.

The end result is live now: it’s called Hacktivate , and it’s available on iPhone, iPad, and Mac. It’s available in two editions:

One-time upfront payment, with no in-app purchases Free to play, with in-app purchases for the game and hints . (Players can also earn hints completely free!)

Both deliver the same challenges and functionality.

An iPad running Hacktivate, showing an audio waveform.

Building a safe place to break things

I decided to try building something that solved these problems. Something that:

My goal is not to turn everyone into a seasoned pentester overnight, but just to inspire a new generation of hackers to experiment, learn, and have fun in a safe and structured way.

As you might imagine, this took a lot of work.

Part of that work was building tools to simulate real-world data in a self-contained app – packet sniffing, network routing, DNS lookups, etc, all need to be able to work without the user leaving the app and even if they are offline. (I have cached DNS results for the servers used in challenges!)

But honestly the biggest part of the work was just crafting all the challenges. If this were a platform game I could just make the core game engine then put different levels in there. In contrast, cybersecurity challenges can’t repeat because it wouldn’t be fun – every challenge has to be more or less unique.

For example, in one challenge you need to discover that one PNG file actually contains several, another challenge mixes decimal/hex/octal ASCII values to spell a message, another one hides the flag in a regex crossword, and yet another one makes you log into a virtual email inbox to find the next target of a cybercriminal gang.

An iPad running Hacktivate, showing a virtual Linux terminal.

What hacking looks like inside Hacktivate

There are a whole bunch of different challenges in the game, but I want to pick out a handful of them and also talk about how they were implemented.

And those are just some of them.

Students learn about regex crosswords, substitution ciphers, robots.txt, Unicode, OSINT, logic gates, and so much more. Heck, there’s a whole virtual assembly language used in some of the challenges!

No matter what the player does, one nice thing about the app running on a local device is that it’s completely private – there are no trackers, no analytics, no adverts, no cookies, or similar. Everything you do is private to you and only you.

Note: There’s a separate version of Hacktivate that removes all in-app purchases, instead relying on a single, upfront purchase. If you work at schools where in-app purchases aren’t possible, you should download Hacktivate: Education Edition instead.

An iPad running Hacktivate, showing a series of toolbox operations.

Under the hood

The entire app is written in Swift and SwiftUI, which allows me to target iPhone, iPad, and Mac. I have no doubt that will make a certain group of people roll their eyes, but honestly Apple has been supportive every step of the way – they have provided lots of help and guidance to make the app the best it can be, even providing code-level support when I hit issues.

(And if you’re dead set against Apple devices, you should check out the web version of Hacktivate – it’s not as powerful or as fun, but it’s entirely web-based and free!)

Some AI was used in the creation of the app, but it was mainly in the app’s “toolbox” – it’s my own little version of CyberChef , where users can create recipes to transform data in a variety of ways to hunt for flags.

Some of the tools in this toolbox were hard to create, and AI did a fantastic job here. For example, the Enigma machine implementation was almost entirely AI, as were parsing SSH host keys, the SHA family of hashes, and transforming audio. These are fairly complex, precise algorithms, and – with some careful prompting – Claude did a great job of implementing them correctly.

However, the vast majority of the app was written by me, by hand, because AI just isn’t very good at being original. I wanted challenges that felt crafted and intentional , so that users could feel their progression grow over time, as opposed to just throwing out a couple of hundred random AI ideas.

The final tally, as of today: 45,132 lines of Swift code, 164,680 lines of JSON, plus some HTML, CSS, Markdown, etc. The JSON contains challenge information, but also all the simulated data – things like virtual email inboxes, terminal configurations, packet captures, etc, and even a whole social network that’s used in exactly one challenge.

Outside my own work, I worked with a few different designers from Fiverr on things like team and player icons, used open-source libraries such as SQift to let users manipulate a local database with SQL, and used Creative Commons media from Brad Sucks and similar, so that I had interesting things to hide flags inside.

I made a YouTube video walking through various parts of the Hacktivate code :

Influences from old-school games

Even though it’s powered by real-world skills, I wanted Hacktivate to get just a bit of the “Hollywood hacker” aesthetic – to be a bit retro and a bit cool, so that students felt it was more fun.

I was hugely inspired by three games I love:

I think the result works well: the interface feels suitably fun and retro, there’s a light sprinkling of animation, particle effects, and haptics to add little bits of surprise and delight, and it still manages to cram in all the power tools people need to solve the challenges.

Here’s a video of the C&C installer from their remastered edition – I think the parallels are pretty clear!

Where it goes next

My goal is obviously not to create a horde of black hat hackers, but instead to create something that’s fun and engaging, to provide opportunities for students to learn in a safe way, and I hope also to inspire new people to consider cybersecurity as a career – with all the recent hacks on Jaguar Land Rover, Asahi, F5, and similar, the demand has never been higher.

But even if students just use it to have some fun, I at least hope it makes them better equipped to spot scams, secure their own data, and reason about online privacy.

There’s still plenty to improve in the app:

I’ll also keep trying to refine the iPhone UI. The app is really packed with functionality, and getting that down to a phone-sized screen was no mean feat.

An iPhone running Hacktivate, showing the world map.

An iPhone running Hacktivate, showing a web browser with HTML source code.

An iPhone running Hacktivate, showing documentation for the BEEP assembly language.

Want to try it?

If you like puzzles, packet captures, or following breadcrumbs where they shouldn’t be, Hacktivate is live on the App Store.

You can try 10 tutorial challenges for free, and unlock 240 more with a one-time purchase. When you buy the unlock it works on all your Apple devices, with your progress automatically synced between them.

I’d love to hear what you think, or what kinds of challenges you’d like to see next!

About Paul Hudson

Paul Hudson is the creator of Hacking with Swift , the world's largest website dedicated to building apps for Apple's platforms.

Paul has been building apps for iPhone since 2009, and in that time has worked with teams at Apple, Autodesk, UBS, Xerox, and more.

Paul lives in Bath, England with his two daughters and two dogs .

Contact details

Paul Hudson