I decided to put our cursed blessing, an always-connected world, to the test on my flight from Seattle to New York. I had five hours, a “working” Wi-Fi connection, and a vague ambition to become a vibe coder, as cringey as that may sound.
Compared to a professional software engineer, I’m a beginner. But compared to the general population, I’m fairly technical: comfortable with code, fluent in developer tools, and capable of deploying and running simple web projects end to end. Vibe coding seemed made for someone like me.
My goal was modest: build a static portfolio website. Surely an easy task for the likes of Codex and its peers. Instead, I was surprised by how hard it was to even get started.
I didn’t have an IDE installed on this machine, and the in-flight bandwidth wasn’t enough to download one. So I went with Codex’s web interface. I was lost almost immediately.
Yes, Codex happily returned code for a basic Eleventy site after the simplest of prompts. But I couldn’t see it. The fluid loop—prompt, edit, preview, run—so gleefully demoed in promo videos was unavailable to me. There was no preview. No way to run the code locally. I couldn’t even see all the code unless I pushed it to GitHub.
I asked ChatGPT for help, assuming it would understand how to use its sibling software. It responded: “I’ll assume by ‘codex’ you mean an AI coding assistant you can chat with inside your editor.” ChatGPT was clueless that Codex even existed.
Maybe GitHub could help me run the code. After wading through repositories, Codespaces, Gists, projects, actions, and pages, I eventually found a way to spin up a virtualized environment, install packages, and run the site. Somewhere deep in a window-within-a-window-within-a-window, yet another LLM (turns out GitHub Agent was also totally unaware that GitHub Agent existed) promised to edit my code. That promise went unkept. My flight was landing.
By the end of it, AI’s dream of democratizing coding felt fantastical. If someone like me, with years of technical experience, struggled this much, how could someone in a less technical field possibly get started?
Later that night, at my friend Ben’s New York apartment, I gave my rant. He looked at me incredulously. For him, vibe coding wasn’t just straightforward—it had been transformative.
He showed me his workflow. Within two minutes, it clicked.
Just use the LLM inside your IDE. Duh! (In my defense, this was my plan all along, but the plane WiFi blocked me.)
I installed VS Code, cloned my messy first attempt, and logged into Codex.
The clouds parted. I didn’t feel like a god, but maybe like a mid-level product manager with a junior developer eager to please. My website—the one you’re reading this essay on—was up and running in no time.
I’m glossing over much of the actual development work here, but I’ll save that for another essay.
The point is: onboarding is make-or-break for new software.
Products like Codex, Cursor, and others offer a dizzying number of entry points—browser, IDE, CLI, desktop app, virtual machines, and more. Each path demands its own onboarding experience.
Experienced software engineers have intuition about how these tools fit into their workflow. If not intuition, at least access to training, documentation, and social support at work. Laypeople can presumably follow the basic demos shown in release videos. But what about the technically knowledgeable non-expert looking to do more?
Given the billions of dollars invested—often justified by the promise that anyone can now code—you’d expect far more enablement. Not just documentation and videos, but guidance embedded directly in the tools themselves. Especially from the LLMs that supposedly understand context best.
I admit, these tools really are powerful. Today, they can help people build low-stakes projects with little to no formal development experience. But getting there still requires a level of determination comparable to learning how to code a basic project from scratch.
I plan to keep vibe coding—but this time separating hype from reality. Codex and ChatGPT help with pieces of the work, but I’m still watching YouTube walkthroughs, reading guides, and digging through documentation. The magic is real. The friction is too.