Vibe Coding Experiment: Building Six Projects in JavaScript and Blazor

 

AI Generated


I’ve been curious about what it would feel like to “vibe code” — to spin up small projects quickly with AI assistance and see how different stacks handle it. So I decided to set up a challenge for myself: build six mini projects twice, once in JavaScript/HTML/CSS and once in Blazor/C#. I wasn’t aiming to declare a winner, just to see where each stack shines, where it struggles, and how AI fits into the process. The surprising part? The whole experiment only took hours, not days.



The Six Projects

1. Hangman

  • JavaScript/HTML/CSS: Worked on the first try, with a functional UI and smooth gameplay.

  • Blazor: The first attempt had errors and a poor UI. After converting the JavaScript version with ChatGPT and debugging with Copilot, it compiled and ran, though the UI still needed work.



Screenshot: JavaScript Hangman (clean UI)



Screenshot: Blazor Hangman (after fixes)



2. Blur Landing Page

  • JavaScript/HTML/CSS: Ran perfectly on the first try, with a polished blur effect and Unsplash image.

  • Blazor: Also worked on the first try, looking just as good as the JavaScript version.


Screenshot: JavaScript Blur Landing Page




Screenshot: Blazor Blur Landing Page



3. Slider

  • JavaScript/HTML/CSS: Initial attempt failed, but a second prompt fixed it. Smooth transitions worked as expected.

  • Blazor: Never fully worked — the UI displayed, but transitions didn’t function.



Screenshot: JavaScript Slider (working after fix)



Screenshot: Blazor Slider (UI present but no transitions)



4. Random Choice Picker

  • JavaScript/HTML/CSS: First attempt failed, but a clean retry produced a working version with automatic selection.

  • Blazor: Worked on the first attempt, though instead of auto-selecting it required a button press — a small difference I actually liked.



Screenshot: JavaScript Choice Picker (auto select)


Screenshot: Blazor Choice Picker (with button select)




5. Live User Search

  • JavaScript/HTML/CSS: Worked right away, even mocking the API call.

  • Blazor: Same here — worked on the first try with mocked data and felt responsive.

Screenshot: JavaScript Live Search (with results)



Screenshot: Blazor Live Search (with results)



6. Content Placeholder

  • JavaScript/HTML/CSS: Worked on the first attempt, though styling needed a small adjustment.

  • Blazor: Worked on the first attempt as well, with styling looking clean.



Screenshot: JavaScript Content Placeholder




Screenshot: Blazor Content Placeholder




Observations

  • Error Handling & Fixes: JavaScript projects usually ran on the first or second attempt. Blazor sometimes required extra adjustments when translating logic-heavy JavaScript.

  • UI Quality: JavaScript versions often included better starter styling and documentation. Blazor UIs sometimes needed extra refinement.

  • AI Support: AI was great at bootstrapping both, but translating JavaScript directly into Blazor took more back-and-forth to resolve errors.

  • Consistency: Projects with heavy DOM manipulation favored JavaScript. Projects with structured data or UI binding translated more cleanly to Blazor.



Wrapping It Up

In just a few hours, I had twelve working projects — six in JavaScript/HTML/CSS and six in Blazor/C#. Some came together effortlessly, others needed extra prompting and debugging, but the results were always interesting.

The big takeaway for me? Vibe coding works across stacks — it’s fast, it’s fun, and it shows how far AI has come in bridging different frameworks. I didn’t walk away declaring a favorite, but I did walk away with a better understanding of where each stack fits and how AI can speed up the process.

Next time, I’ll push the limits further with more complex projects and see if the same “hours not days” pace holds up.

Comments

Popular posts from this blog

Yes, Blazor Server can scale!

Offline-First Strategy with Blazor PWAs: A Complete Guide 🚀

Customizing PWA Manifest and Icons for a Polished User Experience 🚀