Terug

Where vibe coding shines for me and where it stopped

Door Jeremy Levoye

Inhoudsopgave

     I recently built my first Power Platform code app using React/Vite. And the honest truth? I had a working demo in a few hours. That part felt amazing. 

     So what is “vibe coding”? 

    Vibe coding is where you build by describing intent to an AI, then iterate by reacting to what it generates. It’s less about writing every line yourself, and more about steering the direction, reviewing what’s produced, and refining it until it behaves the way you want.

     

    The idea: an office table tennis app

    In our office we play table tennis a lot, so I built a small app where colleagues can:

    • Queue up for a match get paired with an opponent
    • Track the score
    • And eventually build a simple ranking

     

    Why vibe coding was a perfect start 

    This is the part where AI shines. You prompt → you get code → and within a short time I had:

    • Screens and structure
    • Working navigation
    • A userflow that could be tested

    That “momentum boost” is real, and it’s probably the biggest value of vibe coding.

     

    The turning point: when “working” wasn’t enough

    After the first demo, I noticed something important. The app worked, but it didn’t feel like a mobile app yet. It felt like a dashboard squeezed into a phone.

     

    User interface of the app

     

    So I started shifting the design toward a mobile-first shell: a “phone frame”, immersive match states, and tighter layouts that stay inside the viewport. This is where the project changed from “generate something” to “shape something”. 

     

    Mobile first user interface

     

    A small bug (score correction) 

    One of the more interesting lessons came from something tiny:

    Deducting a point from your opponent sometimes removed TWO points.

    That sounds trivial… until you realize what it forces you to confront:

    • What is the single source of truth for score?
    • Is score stored as numbers, as an event log, or both?
    • When you support undo, are you reversing the latest action or just changing a number?

    It’s the kind of bug you don’t see in a happy-path demo, but you hit immediately in real play. And it’s also a perfect example of the limit of AI-generated first drafts: AI can generate score buttons fast. But state design (and reliable undo) is where you still need your own engineering brain.

     

    App during a match and user statistics

     

    What I learned (and why I still think this is awesome) 

    This project wasn’t business‑critical. It was a fun office app. But it taught me not only about UX and state, but also about security and long‑term ownership.

    When you vibe code, it’s easy to focus on “it works” and forget that generated code is still… your code. And you’re responsible for what it does, what it exposes, and how it evolves. Our internal security approach is built around secure software development: avoiding hardcoded secrets, using secure components, peer review for pro‑code, and controlled releases via pipelines. That mindset matters even for “small” apps.

     

    Security: “works” is not the same as “safe”

    AI can absolutely produce code that looks correct and behaves fine in a demo. But AI-generated code can still introduce vulnerabilities and people are often more likely to trust it than they should.

    That’s why I think the real rule should be: Never ship code you don’t understand.

     

    Moral of the story

    Vibe coding is a brilliant way to start. But the best results still come when you can fine-tune and validate the last 20% yourself. Especially around security, responsiveness, and state correctness.

    AI gives you speed. You provide judgement. And honestly? That combination is awesome.

     

    Related information: Quickstart: Create a code app from scratch

    Jeremy Levoye

    Jeremy Levoye

    Head of Support & Services @ ITRBLS

     Geloof je ogen niet 

     IT saai en voorspelbaar? Zeker niet! In een inspiratiesessie nemen we je mee door alle nieuwe mogelijkheden.
    Laat je verbazen en boek een sessie bij jou op de zaak.

    Arthur Beverloo

    Arthur Beverloo

    info@itrbls.com 06 123 456 78