The ocean made me do it π
I’ve been hooked on the sea since before I could spell “buoyancy.” Diving isn’t a hobby β it’s a low-res, high-feelings operating system the ocean runs on. The weightlessness. The billion colors when the sun pierces the water and suddenly the fish are a confetti cannon of pure life. The sound of your own breath in the mouthpiece β a slow, pressurized rhythm that says you’re somewhere few people ever go. The deeper you sink, the stronger the hug, the longer the silence. It’s the closest thing to flight that gravity will legally allow.
So you’d think I’d savor every second of the course. You’d think wrong.
The plot twist: Paul became an instructor π€Ώ
Turns out Paul β our ex-CEO β has the same addiction. But where I just drank the ocean, Paul went and made a career out of it. Years of structured training later, he’s a certified dive instructor. The moment I heard, I knew: PADI is not a far cry anymore - I’ll get certified under Paul. Piece of cake. Paul it is. Easy going, great colleague, sports junkie, shared passion, sure he’ll let me coast. Perfect.
Wrong on every single count.
HWAAT?? A written test? π
Modern diving certification is a gang-beat of learning modules: eLearning portals, scored quizzes, chapter-by-chapter comprehension thresholds, and a final exam you physically cannot skip. You want eternal breath underwater? First, answer 47 questions about nitrox partial pressures.
I stared at the dashboard. Modules: 5. Quizzes: ~40. Instructional Videos: Countless - Can Skip? Hell no! Passing threshold: 80%. Time investment: somebody else’s.
Pauls’ Betrayal π‘οΈ
I texted Paul the international distress signal β “Can you please just handle quizzes for me” β with a wink and a promise of a crate of something nice.
Back came the curt: “Nice try!” HUH..... Are you serious? Paul! Betrayal! And just like that, he left me with 100s of hours of videos and a stack full of quizzes.
The man had changed. Certification-Paul has integrity. A moral backstop. He refused. Can you believe the betrayal?? “It’s part of the journey, man.” No, Paul. The journey is the salt and the spawn and the deep β not a multiple-choice exam about anchor lines.
Enter: the only teacher that never judges me π»
Left with my own devices, what would a man do? I do what any self-respecting engineer does: I automate the bureaucracy out of the universe.
In goes a CDP (Chrome DevTools Protocol) session. CDP is the same remote-debugging protocol Chrome uses to power its own DevTools. If you can drive DevTools, you can drive anything β you get a live wire into the DOM, the network, the page’s runtime. It’s a puppet string for the whole browser. And in my hands, that browser had one job: become the world’s most diligent student.
Here’s the weapon stack I ran:
puppeteer-core+ raw CDP β an express lane into Chromium. No fluff, just me and the page’s nervous system.- DOM spelunking β I mapped the quiz portal’s DOM like a wreck dive. Selectors for questions, for option elements, for the “Next” button. Every page was a grid to be navigated, and CDP let me read it like a chart.
- A study loop that reads before it answers β the bot fetched the module content, parsed it, and cross-indexed it against each question. Technically, dear Paul, it studied, it learnt, got better, invoked deep research skills, looped dark depths of information on the Internet β No betrayals here. I outsourced the reading; the comprehension was still happening somewhere.
- Answer-scoring heuristics β wrong-answer markers in the DOM, feedback hooks, confidence thresholds. When the bot hit a question it didn’t like, it backtracked, re-derived, and re-subbed. Self-healing test-taking.
- Human-speed pacing β random jitter between actions, natural scroll patterns, no instant-click tells. If the platform’s anti-bot heuristics were tracking session velocity, my session looked like one very committed student in a flow state β albeit multiple students using the same ID in 10 headless CDP threads watching the videos at max speed and attempting the quizzes as soon as they’d hit it β Yeah!!!
- Retry loop on the threshold β the 80% gate didn’t scare the bot. On the rare quiz where it landed just under, it reasoned over which answers the grader flagged, patched its approach, and re-ran until the pass state tripped.
ed. My next stroll would be different β lightpanda.io.
One day. That’s all it took. Modules consumed. All ~40 quizzes cleared. Every threshold smashed. The cert written part/phase unlocked, wrapped in digital ribbon, waiting for me to collect it like a treasure chest at the end of the dive line.
ed. One very committed Chromium session. - Few hours - The ocean remains unimpressed.
140 Lines of Node, Zero Moral Baggage
I broke the news of passing, not the mechanics, before the day’s end. Ha β The chat went silent :) and I read it through a blinking cursor like it was sign language: confusion (how?!), dawning betrayal (the quizzesβ¦), then a tiny, begrudging, horrified spark of respect. Latter He tried to probe how? cryptic silence! Everyone else took months. End of probing.
The question he would ask if he knew β “Did I at leastβ¦ learn anything?” β dude, I learned that CDP Runtime.evaluate can return anything, including hope β all with 140 lines of Node and zero moral baggage.
Passion check: sea AND tech ππΎ
You ask why I’d cheapen something sacred with automation. Easy answer: I’m a two-ocean man. The salt ocean and the silicon one. The sea teaches you humility β there is always a deeper depth, a bigger fish, a force that doesn’t care about your permits. Tech rewards the same hunt: a smarter abstraction here, a cleaner bridge there. What costs others months - costs you an afternoon! The high β the real one β comes when the keyboard becomes a skeleton key and the system just… yields.
I can’t cheat the ocean. No one can cheat the ocean β The ocean doesn’t grade multiple choice. The ocean grades you in buoyancy control, fin work, and whether you panic at 18 meters when your mask fills. THAT’s the real exam. Because on the water, there’s no bot. There’s just you and the blue dream.
“eLearning cleared by the bot in a day; pool skills cleared the hard way, under Paul’s eyes. We never made it to the sea. Yet. Next Target - Open waters
Fingers crossed he never sees this post before the next course. Now if you’ll excuse me, I’ve got a CDP session to plan forβ¦ advanced nitrox.
P.S. β Yes, this is a true story. No, I will not be sharing the script. Yes, you too can automate your way through bureaucratic eLearning β but please actually learn the water skills. The ocean is the one test you cannot cheat. π
π¬ Discussion