"Vibe Coding" for Public Schools
An exploration in custom software development for novice computer users using AI.
I’ve been thinking a lot about vibe coding lately. It’s not a formal practice, more of a mindset. Vibe coding is what happens when you skip the tutorials and documentation, follow your gut, and build something quickly, not perfectly, but just enough to be useful. It’s intuitive, messy, and unapologetically incomplete. And for environments like schools or nonprofits, it might be the most practical way to get tech solutions off the ground. For the record, I am not the biggest fan of the term vibe coding but for the sake of this article, I will continue to use the term.
Recently, I had a chance to provide support to a local school district. While I was in one of the schools, I kept noticing students and teachers doing the same thing over and over: checking the time, glancing at a printed schedule, mentally calculating how much time was left, then moving on. Some did this with ease. Others looked confused. One admin told me, “We’ve got different schedules for Wednesdays, early release, two-hour delays, and split lunch tracks. During COVID, we had three different lunch schedules. It can feel like chaos sometimes.”
It struck me how much effort went into these tiny mental recalculations—and how unnecessary they were. Not because people aren’t capable, but because it’s a problem that could easily be solved by a tiny tool. One that shows today’s date, what schedule is active, what class is happening now, and how much time is left. Just a simple display. But no one had built it. I saw this as a great opportunity to experiment with “vibe coding”. I wanted to approach this experiment with the mindset of a teacher with minimal computer experience. I didn’t have a plan. I didn’t sit down with a tech stack or a sprint outline. I just opened ChatGPT and started talking:
"I want to build a webpage that shows today’s school schedule and the time left in each class. I don’t know how to code. I have included the school schedules bellow. Please guide me through creating an application that meets the following requirements: "
That was all that was needed to begin. What followed was a back-and-forth conversation. I’d describe what I wanted, “Add a progress bar,” “Make the fonts bigger,” “The application is still not showing the time for Wednesday properly, please fix this.” and the LLM (Large Language Model, “AI”) would return code. I’d paste it into the free service Codepen.io, see how it looked, and repeat. When something didn’t make sense, I’d ask: “Explain this to me like I’m in high school.” Then again, “Now explain it like I’m in college.” That layering helped me understand just enough to keep going.
Occasionally, I would try to challenge the LLM’s capabilities. Even if the results weren’t 100%, they were enough to set me on the right path. Some of my favorite exploration prompt examples included:
”Take the color palette from [school’s website] and apply the palette to my application.”
and
“Rebuild using the design framework, DaisyUI. Use the prebuilt components and follow best design practices.”
I didn’t touch a terminal. I didn’t Google anything. I didn’t worry about best practices or naming conventions. I just asked questions, built, and guided by the results.
Over a few short sessions, I had a working webpage that:
Automatically knows what day it is
Highlights the current class
Shows how much time is left until the next bell
Adapts to different schedules
Works on desktop and mobile
And can easily be customized by anyone else who wants to use it
The whole thing took about 6 to 12 hours, broken into little bursts of focus. A couple of hours learning the tools. A couple more shaping the layout and time functions. A few hours of debugging the schedule logic. And finally, publishing it with GitHub Pages so others could access it.
The real power of vibe coding isn’t the speed, it’s the permission it gives. I didn’t need to be an expert. I didn’t need a roadmap. I didn’t need to justify why I was doing this or ask for approval. I just noticed a small problem, stayed curious, and built something helpful.
I think more people, especially in under-resourced environments, should feel empowered to try this. Whether you’re a teacher, an admin, or someone who’s never written a line of code, it’s now possible to build your own tools. Not by learning everything at once, but by asking better questions and working side-by-side with AI.
Lessons Learned
A few things stood out to me during this process:
AI code collaboration is a living document. You can return to your conversation to help update your application to the latest standards and trends.
It’s easy to learn while you build. With the AI’s help, you can discover your own learning style to help diffuse intimidation and frustration while you build.
Don't limit yourself to standard practices. Thinking outside of the box will often yield impressive results.
If you're curious to try it, just start with this:
“I want to build my own version of this schedule app: github.com/mganucheau/ScheduleApp. Help me customize the times and name, and publish it using GitHub Pages.”
That’s enough to get going.
No tutorials. No team. No budget. Just curiosity, a browser, and the willingness to follow a hunch.
View the application here: ScheduleApp

