Why did I create a code generator for Laravel? The story behind Vemto
It seems like yesterday, but it's been almost two years since I launched the first official version of Vemto.
I have always been fascinated by automating processes, and I believed that if I could streamline the process of creating systems and applications, I could focus on the essential parts of development without wasting time on repetitive things like CRUD, simple reports, etc.
Generating code was one of my favorite subjects during university, and I dedicated myself to studying various tools available at the time.
However, most of these tools were not accessible for one of the following reasons:
- They were costly
- The interface was not intuitive
- Generated poorly optimized and confusing code, harming post-generation maintenance (generating tool dependency)
For this reason, I decided to develop my code generator software.
For seven years, I tried to develop something that would fulfill the requirements several times. I failed in practically every attempt, mainly due to a lack of experience (not only in generating the code but also in generating suitable applications).
But with each project, I learned something new and refined the process. Several things that culminated in Vemto came about in this period:
- the VET Template Engine, which is the heart of Vemto today (inherited from my old PWC project and from AppStart, a Laravel project generator in the cloud that didn't make it)
- the code generation methodology was refined with each project
- the choice of Laravel (which has been my main working framework since 2016). Before, my attempts were more focused on generalist code generators. Focusing on Laravel helped narrow the scope (a choice that started with AppStart)
At the end of 2019, going through a complicated situation where we (my wife and I) needed a considerable amount of money, I decided it was time to try again.
At that time, I already had another product on the market, Rapid Mockup, which was enough to pay our bills but not enough to solve the problem.
After designing and raising several requirements and conducting experiments, I started developing it in March 2020.
There were several challenges during development:
- Pandemic period (Covid)
- I made the wrong choice of database (which generated massive headaches and ended up culminating in the creation of RelaDB, which is a database created for Vemto)
- The scope of the project was much larger than initially imagined
- Despite previous experiences, I still had a lot to learn
- There was enormous pressure not to fail; After all, we depended on the success of the project, and several people were waiting for the launch, as the Landing Page had been live since April 2020 (with thousands of Newsletter subscribers)
Because it was a complex project, there was no way to release minor incremental versions from the start. Too many things needed to be ready at the same time for it to work.
However, after an arduous seven months of development (I remember spending midnight working on some days), Vemto was released on October 29, 2020.
I am very grateful to God for the strength and my wife's patience and companionship during this period. It was a difficult time.
After that, there were many versions and news. Even the team has grown, and today we are two programmers working on the project, just as we have just passed 1,000 followers on our Twitter profile, an important milestone.
And finally, we are starting the development of version 2. I could not put everything I wanted in version 1 of Vemto. After two years in the market, I have heard many opinions and suggestions from customers, in addition to realizing that the software needs to be rewritten with a new architecture, more flexible and powerful than the current version.
Now I feel ready to bring an even more complete tool to the Laravel ecosystem.
Wait for news!