It was May 2016 when we decided to create a SaaS-based on Drupal Console. While the Console is helping millions of developers code faster, there’s still a segment of Drupal users who don’t necessarily know about using a Command Line Interface such as Terminal or Shell, and that’s where the idea of creating MagicGen came.
Transforming an idea into a product or even an actual project is a very challenging process. There are many distractions, responsibilities and delays from your daily tasks that keep you from reaching your goals. In our case, one of the main distractors was that our team steadily come up with new ideas, new projects and new technologies which is always welcome but that brings noise to the internal projects that are already being developed.
So finally eight months later, around Jan 2017, we decided that the platform would be SaaS, with the idea of “only” supporting Drupal and WordPress at the beginning. Bringing WordPress onboard brought new challenges, especially after realizing that WP-CLI wasn’t going to work in the way we needed. Therefore we had to create a sibling project to Drupal Console named WP-Console as an open source project and from there use both Drupal Console and WP-Console to support MagicGen.
We spent the rest of 2017 building and expanding support for Drupal Console and WP-Console, while at the same time learning more about the complexity of DevOps for SaaS products.
2018 was the year of focusing on the infrastructure required for our product. After exploring the options for creating such platform, many questions related to infrastructure and technologies emerged. Things such as: Do we need to instantiate a separate Drupal / WordPress instances on the fly? How do we spin a new box with a CMS in under 5 seconds? Also, the challenge of planning the scalability required to handle hundreds (hopefully thousands) of users creating new projects simultaneously.
A little over 2 years have gone by and it was just recently that our team decided to change the approach that we were using to spin new projects, just because new technology became available that allowed us to drastically improve this time, going from -kill me now- 60+ secs in the case of Drupal, to a 5-second wait.
Adding to the length of the project in total, we suffered from having it on the back burner for months waiting for someone from the team to become idle from billable projects so that they could tackle the remaining issues. This lack of availability of resources was one of the main reasons why as part of our business strategy, on the last quarter of 2018 we decided to create a Products team where five members of our staff are dedicated to Products as well as Research and Development.
The Products team not only focuses on SaaS but also in researching emerging trends & technologies that will eventually allow us to innovate using cutting edge tools, techniques and methodologies.
One thing we realized over the last two years is that the Research & Development process of creating something new from the ground up improves our capacity to innovate and solve complex challenges, which not only benefits our clients in getting a better service, but also contributes back to the different communities of the Open Source ecosystem at a higher level.
In the upcoming few weeks, MagicGen beta will be available as a free plan, and I’m sure it will become a valuable tool for many developers as they work through different client and personal projects.
Meanwhile, make sure you sign up for the MagicGen newsletter to receive updates about the launch date.