Programming with AI: clever cheating
I previously wrote that I built a product in one week that would have taken perhaps a year in the regular development process. I should mention that I cheated quite a bit.
I used the knowledge of the organization that we have built up over the past twenty years to do this as quickly as possible. And the lessons you can learn from this can be put to good use in tackling AI programming.
In addition, I have more than twenty years of experience in product development. And I can write code myself. So I can also see if the code written by AI or the associated thought process is going in the wrong direction. That’s something that happens regularly when you start programming with AI.
The third way I cheated was by using the very latest techniques to enable the AI to program and test itself. Finally, I was incredibly lucky that we learned a lot at Voys about how we develop (and want to develop) software. From architecture and testable code to coding principles: everything is documented. I fed that documentation to the AI first, so that it would set up the project exactly as we would do it within our organization, including all the experience we have gained over the past few years.
Programming with AI is also known as vibe coding. I thought it would be nice to capture the way in which you can program effectively with AI in a VIBE framework.

The VIBE framework for effective AI programming
Vision and pragmatism
Start every project with an ambitious vision, but execute it pragmatically.
It is very easy to add AI features to the product you are developing. But without a vision, you will quickly end up building random features. This is where the pragmatic principle comes in: build a production-ready system in which every feature adds real value within the vision for the product.
Before you start developing the product, it is wise to discuss what the product could become. Think about the full potential of your product early on in the process. Then translate that into pragmatic steps: what do we need right now? Build incrementally and schedule regular check-ins to see if you are solving real or imaginary problems.
Tip: test whether each piece you add really does what it’s supposed to do. I often thought a building block was finished, only to find out later that there were gaps in the implementation. Solving such issues when you thought you were almost done often takes much more time.
Iterate
Work with small, validated iterations.
AI enables incredibly fast development cycles. The risk here is that you start learning in code. You can learn a lot from sparring with the AI, validating your thinking, and receiving feedback from the AI before you write a single line of code. If you use this effectively, you will develop the best solutions faster.
Because thinking in code is expensive. The AI quickly gets stuck if you pile task upon task without adding fundamental thinking. So: first think âtogetherâ, then do âtogetherâ.
Record that thought process as well, for example in working documents or in the AI’s memory. Use that documentation not only to explain what you have built, but above all to understand it yourself. Writing forces you to think clearly.
I have worked extensively with feature document workflow. Implementing a new feature consisted of the following steps:
- Investigate the problem together
- Document
- Which files are affected?
- How should it work?
- What does the front end look like?
- Then use the document as a development roadmap and progress tracker
This also prevents the âoverly enthusiasticâ implementation that an AI standard tends to pursue, and this way of working forces you to ask critical questions in advance.
Balance complexity
KISS: Keep it simple, stupid.
AI can quickly implement complex patterns, making over-engineering very tempting. Before you know it, your simple project has an enterprise-grade login. So you should regularly ask the AI, âWhat is the least complex approach that works?â
A good example: I spent more than six hours debugging a complex dependency injection system that added no real value. The simplified factory pattern solved the same problems with 70 percent less code and much higher maintainability.
So keep it small. AI tends to complicate projects. Work on very small proof of concepts in isolated files. Once each small concept works, combine them into finished pieces. The question âWould a junior developer understand this?â helps enormously.
Evolution-conscious architecture
Build a product for today’s needs with tomorrow’s expandability in mind.
If you’re not careful, your AI development will move too fast and architectural decisions will be made implicitly. But without conscious architecture, you’ll end up with complexity that is impossible to maintain. This also applies to AI.
So think ahead about:
- Clean architecture: separating business logic from frameworks and infrastructure.
- Factory pattern: makes service replacement or expansion easy.
- Graceful degradation: optional services do not break core functionality.
- Production-first mindset: think about security, privacy by design, monitoring, testability, and maintainability from day one.
This all sounds very complex, but AI knows the content of all the good books on the above principles. If you ask the AI the right questions in advance, it will come up with the perfect prompt that it will look at during each session. This way, these principles become the standard.

The real benefit of AI programming: better collaboration
What I appreciate most about this process is not the speed with which I was able to build, but how working with AI forced me to think more carefully about what I actually wanted to achieve. The AI asks questions that I would otherwise skip. AI asks about edge cases that I would forget and forces me to explain clearly what I mean.
That makes programming with AI not only faster, but also better. And that’s smart cheating: using AI to become a better developer.
The VIBE framework has helped me not only to develop faster, but also more consciously. And that is ultimately much more valuable than that one week in which I compressed a year’s worth of work. Because I can now apply the lessons I’ve learned to all future projects.
So yes, I cheated. But I learned valuable lessons and was happy to list them so that you too can make smart use of them.
Blog series âProgramming with AIâ
This is the second article in a four-part series on programming with AI. You can read the other blogs here:
Part 1: How AI reduces development costs by 2900%
Part 3: 19 tips for successful programming with AI and Claude Code
More stories to read
On our blog we post about a lot of stuff, just go for it and read some posts for your own fun.
Go to the blog
from 20 October 2025