For the past weeks, I have been discovering AI in all its facets and I have to say, that I learned a lot of things, not only related to AI itself but in respect to the different fields that I was exploring.
Change of perception because of AI
The one thing that AI made me realise is that I have now a tool to learn almost anything that I want in a short time and with a very patient teacher...
I first played around with Image generation, then with video generation and then I started to see other potential usages for AI that would add to my work and private development.
I had an idea for a software that would improve my reservation system
For my leisure offline activity, I have a very old fashioned reservation system that basically works over e-mail. It's very slow and very work intensive. I thought about it and came up with an idea that would be fully automated and bring down the workload for me and my employees.
First evaluation of the project
I put all the aspects of this software down into a text document. I then fed it into an AI to rewrite it so that I could use it as a prompt for a vibe coding tool. I got quite a nice document that was pretty precise and seemed quite good to me.
My first mistakes with vibe coding
Going fully in from the beginning
So I opened an account with plenty different vibe coding platforms like Gemini, Claude, V0, Replit, Lovable and I pasted the prompt that I had into them. So they all went to work and produced a code base of up to 2000 lines. I was impressed but unfortunately, all the propositions had things in them that need to be modified. Each time, I wanted to modify something, AI took ages to rewrite the whole code. That was certainly not a good idea and I also quickly run out of credits for the free plans without getting closer to anything useable.
Thinking about structure and architecture
Since I'm rather a noob in programming and I have very limited knowledge about front-end, back-end, Database, Authetication and all such things, I realised that all this should be defined before starting to generate any code at all. Also, I needed to understand how the finished product would look like, what programming language was most adapted to my needs, where I would host the DB, how I would do authentication and all the other stuff, I knew nothing about. Finally, I had to think about how to host the whole thing once it was finished. At this point, I almost gave up. The mountain seemed to imposing to climb...
Killing the project with mistakes
I finally did most of the work in Gemini because it allowed me to use AI as much as I wanted. It helped me to create a local environment and then link it to a firebase DB. I had something that was almost working but then after a change, everything was broken and I had to restart from scratch. That's how I have learned about version control, git and github... That was a very hard way to learn it.
Trying to get better at it
So, after I killed the project, having not thought of creating a kind of point to turn back to, I decided to restart the whole thing. I watched some videos and things started to make a bit more sense. I also discovered cursor that is not a no code tool but is for me the most useful tool that I have used so far.
Breaking things down
Instead of feeding my whole idea to cursor, I asked chatgpt how it would structure this project. What it would do first, then second and so on. I also asked for a step by step procedure that not only made most sense but that would also be translatable in a production environment. I asked for the best framework, the database and how I would work on the project locally. It created a whole plan. I then saved this plan into the folder where I wanted to create the project.
Now, I can refer to this plan to cursor and we know exactly what point we are working on with the AI. Each time, we have accomplished a new point in the plan, I can make git commit and make sure that we could go back to this point if we break something in the code.
Another thing that is very important is that most of these vibe coding platforms didn't think about any security issues. It's only when I asked chat gpt to take it into account, that AI started to build things in a more or less secure way.
The great thing with proceeding like that is that it allows to work on one aspect at a time and if there is some correction to make, it's often only a couple of lines that have to be changed. It makes finding bugs much easier.
Well any experimented programmer will probably be laughing at how I struggled, knowing all what I write here beforehand. This is one of the reasons why I believe that we are still a long way from being able to produce fully working apps, without having any clue about code and programming...
I still don't believe that I will be able to generate something that will be usefull but I go on because I learn really a lot on the way. Maybe, with more learning steps, I will be able to believe in my capacities to instruct AI well enough to get to a finished project but I'm quite fare away from that for the moment...
Have you tried vibe coding?
With @ph1102, I'm running the @liotes project.
Please consider supporting our Witness nodes: