Some thoughts on coding with AI (or, that awful, awful name, “vibe coding”):
It’s my kid’s PSLE year*, and I got bored of reading spelling words to him.
So I thought, why don’t I write an app for that?
45 minutes later, I had something fully-functional — not because I’m fast, but because I used Cursor (pictured). AI coding tools like Cursor, GitHub Copilot, and Windsurf can help programmers write full code, in-editor, soaking in the full context of the existing codebase.

This is different from “asking ChatGPT” because of the in-editor and full-context parts. In the “bad old days” of… 1 year ago, I’d have had to copy my code over to ChatGPT, give the AI context about what language and framework I was working with, get some code back, and hope that the generated code was easy enough to just plug back into my codebase somewhere. So much cognitive overhead!
This new tech, however, is remarkable; I really just ask for a feature, get the code inserted into my project. I check if it works, request some modifications, and repeat the process. AI researcher/influencer Andrej Karpathy calls it vibe coding:
I ask for the dumbest things like “decrease the padding on the sidebar by half” because I’m too lazy to find it. I “Accept All” always, I don’t read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it.
This is mind-blowing, and poses all kinds of new and frightening questions for programming educators. For my Swift Accelerator app development class in particular, I realised that the app I “made” in 45 minutes was comparable to what they’d take 2 weeks to struggle through. Wouldn’t it be better for students to have a working product quick, and then iterate on it? We could just teach students the basics, then get them to “vibe-code” their way to awesome apps.
I posed this thought to my co-instructors at Swift Accelerator Jia Chen and Sean — both former students, from the first batch in 2018 — and I was surprised at the vehemence of their feedback. They worry about:
- How it’ll degrade the students’ learning
- Students generating code they might never understand
- AI generating the wrong code
- How it just changes what the class is.
All valid points! But I wonder about students who fall behind in my class — would this help engage them more? The feeling of creating something so quickly with AI can’t be understated. Then again, I do acknowledge it’s short-cutting the hard work of comprehension, understanding, and perhaps creativity that comes with “manual” programming.
I don’t have any answers yet, but for this year’s class, I’m intending to take a couple of groups with which to run this experiment.
* Positive vibes appreciated. Kiddo knows about Perplexity and he knows the AI is great at finding answers from specific questions from specific practice papers — a power he’s abused to spend more time playing video games. Gahh!