AI & Building

I don’t know PHP. I built my own CMS anyway.

What a few weeks of building with AI taught me about ideas, debugging, smaller models and knowing the right words.

An idea growing into connected websites, a video editor, audio tools and an isometric game world.
AI-generated illustration of an idea becoming different tools and applications.

I want a CMS? I build one. A chat app, a game or some other application? I give it a go. Do I have experience with PHP, Node.js, Rust or Python? Hell no. But I keep making progress, because I know what I want to achieve and AI handles the technical work that would previously have stopped me before I even started.

Over the past few weeks, the biggest change has been the kind of ideas I am willing to try. Video, dubbing, YouTube scraping, game databases — I have been working on things outside my usual field, using tools I did not know about or probably would never have used otherwise.

Written with AI assistance, based on a conversation about my own projects.

I know the goal. The LLM figures out the route.

For these projects, I usually knew what I wanted the result to be. How to get there technically? I left that to the LLM. I did not start by choosing a language or researching every library I might need. I started with the outcome I wanted.

That does not mean I type an idea once and receive a finished product. I look at what has been built, use it and notice what is missing. My job is to set the direction and describe what still does not work the way I imagined.

The next idea shows up while I am using it.

Quite often, the next requirement only occurs to me once something already works. Something like: Ah, if I could just pull a video from YouTube here, that would be nice. Then I ask for that to be added. A feature I had not considered at the beginning becomes the next step.

The application grows as I try it out. I do not need to know every detail in advance. I see a working version, have another idea and can immediately explore it. That has made me much more willing to attempt things I would previously have abandoned because of the effort or my lack of technical experience.

Testing is part of the process now.

GPT and similar tools also handle extensive testing for me. In Codex, I can sometimes follow the process visually or read through the activity in the conversation. There might be a report saying that 180 tests have been completed. That gives me more visibility into the work than simply being told: Done.

I also try the results myself. LNNY.de is my place to experiment and test what I build. I can see whether an application behaves the way I wanted, describe what I notice and send it into another round of debugging. A test report is useful feedback; using the result is another part of the process.

A browser game can still crash. Completely.

The limits have been particularly obvious in more demanding projects. In a browser-based 3D shooter, performance suddenly dropped. In another moment, the tab simply closed — just like a PC game crashing completely. The idea was still worth exploring, but the implementation clearly needed more work.

Token capacity is another practical limit. There is only so much room to keep working with a model and its context. My approach has been fairly hands-on: try it, describe the problem, have it adjusted and test it again. I keep debugging until I get closer to what I wanted.

Once the prototype exists, a smaller model is often enough.

One useful lesson for my own workflow: I do not need the strongest model for every next step. Once the prototype is in place, a smaller model is often enough for additional assets or small changes.

The distinction I make is whether the fundamental structure of the game or application needs to change. More assets and contained adjustments are different from rebuilding the foundations. That helps me use the available capacity more deliberately. It is a rule of thumb from my own projects, rather than a promise that a smaller model will handle every task.

Knowing the right words still helps. A lot.

If someone asked me how to get started without programming experience, I would not tell them that knowing things no longer matters. Technical vocabulary helps enormously when you want to explain something precisely.

In web design, that might mean knowing terms such as header, aside, footer, HTML, paragraphs, H1 headings, scripts or CDNs. In games, it helps to know what sprites are and whether you mean 2D, 2.5D or 3D — or a platformer rather than a top-down game.

I do not have to implement every technical detail myself. But being able to name things makes it much easier to communicate what I have in mind. Broad general knowledge remains useful: it helps me recognise possibilities and explain which ones I want to explore.

My biggest takeaway: I can start.

The biggest shift is that not knowing a particular programming language no longer automatically kills an idea. I can get started, have a prototype built and work from there. My tools and the experiments on LNNY.de give me somewhere to do exactly that.

I decide what I want to build. AI helps me implement it. When something does not work, it goes back into debugging. I still cannot program all of these things on my own. But I can turn a lot more of my ideas into something I can actually try.