I’m getting nervous about my new web development class now that it’s just a few weeks away. It’s my first time teaching older students — tenth, eleventh, and twelfth graders — for a full semester, and I’m doing it alone. Last year I dipped my toes in with a smaller group, learned some things, and made some mistakes. But this is different.
This is an elective course, which means that my students are choosing to be there. They’re giving up a slot in their schedule to learn web development, and I keep thinking about whether I can make that choice worth their time.
My nervousness isn’t just about being new to this particular teaching challenge. It connects to something deeper about why I’m standing in front of a classroom at all.
I quit my job in the business world back in the early 2000s because I believed in what the internet could become. I grew up in the ’80s reading about personal computing and the internet from people who saw it as a liberating force, a way for individuals to connect, create, and share outside of traditional gatekeepers and corporate control. That vision held so much possibility for me that I walked away from one career to try to help young people understand and use these tools. I became a teacher because I thought technology could empower people, giving them agency and voice in a world that often tries to take those things away.
It hasn’t quite worked out that way. The internet has been corporatized and fragmented. Algorithms decide what we see. Closed platforms shape how we connect. It leads to division rather than community, to inauthentic slop rather than genuine expression. I’m devastated about how things have ended up.
Here’s what keeps me going, nonetheless: the web as it was originally created hasn’t disappeared. We can still use it as a personal space, and as a place for connection and expression that isn’t controlled by corporations. You can still get a domain for about fifteen dollars a year, host a site for free on GitHub Pages, and be there right alongside the richest people and biggest corporations in the world. Your website is just as accessible as theirs. You’re in the game with the same basic tools they have. That democratizing aspect of the open web is still real, still available, and still worth teaching.
For me, that’s what this class is really about.
I work with plenty of students who make web pages and some of them get frustrated with the constraints of website builders like Google Sites or Wix. They’ve bumped up against the site builder’s limitations and find it stifling. I get it. Everything looks the same, you get upsold to paid plans, and you can’t quite make it do what you want. Learning HTML, CSS, and JavaScript removes those constraints entirely. It’s literally a blank slate. The more time you invest, the more control you have over what you create.
More than just control, it’s about developing your own perspectives and sensibilities. When you learn web development fundamentals, you’re not just learning syntax and tags. You’re forming opinions about design. You’re drawing conclusions about usability and accessibility. You’re developing an aesthetic sense — what color schemes work for you, what typefaces feel right, how elements should be arranged. You’re asking questions that go beyond the technical: What’s the purpose of this website? Who’s the audience? What do I want them to experience? Why is this worth their time?
All of that gets mixed with your own experiences and desires to create something that’s unique, and something that doesn’t look like everyone else’s site. It’s human rather than generic, informed by your perspective rather than defaulting to the least common denominator. That’s powerful. It’s a distinguishing factor in a world that often pushes us toward sameness.
This is where the AI question gets interesting.
I’ve been thinking a lot about how artificial intelligence fits into a web development class. You can’t responsibly teach web development today without acknowledging that AI coding tools exist and that students can use them. I use them constantly myself. I’ve built entire websites with AI assistance, including my Babbleborg build guide, a digital signage system for my school, and this very site with Hugo. I don’t do web development without AI anymore. It’s too useful.
So why not just teach students to describe what they want and iterate with ChatGPT or Claude until they get a functional website? Why spend a semester learning HTML and CSS when an AI can write it instantly?
I’ve been wrestling with this question, playing devil’s advocate with myself. Through talking it out, I’ve come to believe that foundations really do matter, but not for the reasons I first thought.
Learning web development fundamentals gives you two critical things. First, it gives you perspective and sensibility. That’s your developed sense of how things should work, what looks good, and what serves your purpose. Second, it gives you knowledge of what’s actually possible. You can’t direct an AI toward something you don’t know exists. You also can’t evaluate whether an AI’s suggestion is useful if you don’t understand the toolbox.
With those foundations, AI becomes something different. It’s not replacing your thinking, it’s amplifying your vision. You can collaborate with it as a genuine thought partner. You bring your perspective, your knowledge of capabilities, and your sense of direction. AI helps you think comprehensively, suggests approaches you might not have considered, and lets you experiment more boldly because you have the confidence to evaluate what works and what doesn’t.
The result is something that’s distinctly yours, but supercharged. It’s informed by your sensibilities rather than defaulting to AI’s generic output. You’re creating something authentic, something that reflects who you are as a thinker, builder, and creator.
Without that foundation, you’re just getting whatever the AI thinks is standard. You’ll get functional websites, sure. For many people, that’s perfectly fine. But if you actually want to create something that represents you, that comes from your perspective, and that isn’t just another template, you need to understand the tools for yourself first.
I want my students to feel what I felt when I realized I could build pretty much anything I could imagine. Not because I’m a professional developer (I’m not), not because I know every framework and library (I don’t), but because I understand the fundamentals well enough to have confidence in my capabilities. That confidence changes what you think is possible, and it changes what you’re willing to try.
I think we need more of that right now. So much in our world feels out of our control. We’re told what to watch, what to buy, and how to think. Algorithms curate our reality. Corporate interests that don’t give a damn about human thriving shape our digital spaces. The internet that was supposed to liberate us has, in many ways, done the opposite.
Learning web development is a way to push back against that. It’s a way to exert some control, and to create something on your own terms. We need ways to use the internet for good things rather than just consuming what we’re fed or piling onto the social media outrage du jour. Every project I work on is trying to make the world a little better in some small way. None of it is commercial. I’m not charging for the articles I write, or using ads and tracking to “monetize” them. I’m just trying to share what I’ve learned, to maybe help someone else along the way.
That’s what I want for my students. I want them to leave this class knowing they can use this wonderful open medium to further any goals they might have. I want them to understand what’s happening behind the scenes when they use the web. I want them to have a sense of possibility, capability, and confidence they didn’t have before. They should know that they have a voice, and that they can create islands of authentic human connection within an increasingly corporatized internet. They should feel that they can build things that matter.
I’m probably asking too much of a single semester elective. We’re going to touch on stuff like HTML, CSS, JavaScript, UX, UI, accessibility, and usability in a very short period of time. It’s going to be superficial by necessity. Some students will likely be disengaged or uninterested, and that’s okay. I was that student when I was their age.
For the students who are genuinely curious, though, the ones who chose this class hoping to get something useful out of it, I want it to be worth their time. I want them to see what’s possible when you understand how things actually work rather than just accepting the tools you’re given.
I’m about to find out if I can make that happen. The nervousness is still there, but so is the conviction that this matters. We haven’t lost the liberating potential of the web — we’ve just been distracted by shinier, more controlled versions of it. Teaching students to build it for themselves, on their own terms, with their own perspectives shaping what they create … that feels like an act of resistance. It also feels a lot like hope.
I’ll let you know how it goes.
