MarsX Vision and Idea - Code Reusing
Code reuse has been attempted since the early days of programming. People have tried to reuse code by creating libraries, using websites such as Stack Overflow to find code snippets, and developing large UI components. However, the problem with these libraries and readily available code is that in real-world projects, most - 80-90% or even 100% of the code is written from scratch.
I was curious as to why this was the case. After examining my own experience with using libraries, the answer became clear. I was part of a team building a Cinema app and we were trying to use libraries for features such as stories. We found many libraries, but they all had the same issue: they were created by hobbyists who had spent some time building something that kind of worked but had a long list of bugs that went unfixed.
The developers told me that these libraries were not complete and had difficulties using them due to poor documentation and each library having its own method for building and consuming. As a result, we ended up relying on our own work rather than using the libraries.
The bigger issue is that libraries only target the frontend or the backend, whereas real software requires a full-stack solution. For example, if we need to create stories, we need a solution that generates, store, and connect the stories to the database. To address this, I created a prototype framework for full-stack libraries, which combined frontend and backend in one SDK for languages like Swift or Kotlin and frontend for JavaScript.
However, I encountered a new problem, as it was difficult to integrate the libraries into a traditional workflow as every library required research to understand and connect all the pieces. It was not as simple as just installing the library, which made it difficult to try multiple libraries.
So, my idea evolved to make full-stack libraries simpler to use:
- Firstly, full-stack libraries were necessary.
- Secondly, the libraries had to be standardized so that people could understand them quickly and have a similar appearance and easy-to-understand code.
- Lastly, people had to be able to try them out in seconds, as developers are always willing to try new things but will not spend a day trying a single library.
The idea I have been presenting is about the thousands of microapps that are built by startups. Developers come to our platform and say that they are experts in building chat applications. I tell them that they build a microapp for chat, make it as good as Messenger or Whatsapp, and add it to our Marketplace. Other founders who need a chat in their product use the chat microapp and insert it into their product. This is how the whole thing works.
The Marketplace has various microapps such as an Airbnb clone or an Instagram clone. These microapps are created by third-party people who make a living from them, not by us, as it is too complicated to create so many amazing microapps. Every microapp has its own team that does this as its primary startup or project. You get benefit from this by simply grabbing the microapps that have had thousands of hours spent on them by those developers, instead of building everything from scratch. When you build things from scratch, it often doesn't work well, and it takes a lot of time to build an amazing chat, which users are very picky about and expect to work well.
Think about it this way: why build a chat when you're building a project with a chat function? You don't build your own fridge; you just buy it. This is the idea behind MarsX, to combine everything that exists in the software development world into one place and create a community where experts create microapps.
MarsX is a combination of No Code, Low Code, Custom Code and AI
MarsX is a platform designed for creating web and mobile apps. MarsX is an innovative, open-source dev tool. It provides a high level of flexibility, allowing users to access custom code when they require it to implement specific features. Regular functionalities such as login pages, payments, carts, dropdown menus, footers, photo galleries, and profile pages are easily plugged into many startups with minimal to zero coding knowledge. In one project, MarsX is a combination of No Code, Low Code, Custom Code, AI, and Platforms, making it easy to transition between interfaces.
MarsX operates under the concept of "full-stack libraries" - microapps that I already talked about in the first paragraph. However, software requirements constantly change in the real world, making it necessary to modify microapps. MarsX makes modifications simple for users. The platform provides a unified environment where users change all their microapps in one place, eliminating the need to jump from project to project in different IDEs.
MarsX also built its own developer environment IDE and integrated it into the platform to achieve this. Users modify and compile their microapps in real-time without having to navigate the hassle of uploading them to NPM or downloading them from different sources. The platform's emphasis on user-friendliness and ease of use makes it an ideal solution for startups and developers who want to build and modify applications quickly and easily.
More about Microapps and how to use them in our other article - What is Microapp
MarsX contribution
One of the main advantages of MarsX is that virtually everyone who has used it has contributed to its development, including junior developers. Each person who has worked with MarsX has written at least a few lines of code in the MarsX core, clients, and IDE, highlighting the system's simplicity and how easy it is for anyone to contribute, regardless of their coding expertise. When adding new features is simple and there is no risk of breaking anything, people are more likely to contribute. MarsX's creators test the platform, which is crucial for receiving feedback. They receive feedback right away after using the platform themselves, without having to wait for developers to provide feedback. Additionally, the development of MarsX is crowdsourced.
Developers do not need to clone the git repository to modify MarsX. They only need to find the appropriate location within their project and add it. When they run their project, they run the entire MarsX entity and have the ability to edit anything within MarsX when used for their project. MarsX is itself a microapp, and the Integrated Development Environment (IDE) is a microapp that is improving by developers day by day.
MarsX AI
On MarsX, AI is used to process a significant amount of code in a scalable and efficient manner. The abstraction layer of microapps and the fine-tuned AI models within each microapp provide software developers with an innovative approach to building intelligent applications. To make AI work with the vast amount of code in traditional software applications, MarsX created an abstraction layer using microapps. Instead of presenting AI with all the code, developers only show it microapps, which contain only a fraction of the code that a traditional app would have. This means that even the developers themselves do not need to know exactly what is happening inside each microapp. AI work with the business logic and specifications of each microapp, making it easier for developers to orchestrate them.
Each microapp has its own AI model, fine-tuned to its specific usage. When someone uses a particular microapp, its AI model learns from that usage and fine-tunes itself. By aggregating the knowledge from all users, this AI suggests better ways of using the microapp than anyone could come up with on their own. Libraries should be full-stack because AI needs to understand the whole picture.
MarsX is based mainly on JavaScript and JavaScript frameworks, which means microapps are built using tools like React, Vue, and Spel. MarsX has created a full-stack platform for the back-end, front-end, and mobile apps. It runs natively on iOS and Android, as well as on the web. To know more about MarsX AI, please visit the link below:
Mars AI: How to Build Apps Faster and Better
MarsX current status (March 2023)
Last spring, MarsX 3 had over 200 projects, some substantial, with millions of users per month. We relied solely on word of mouth and had no proper marketing. However, we reached a point where our concept was validated by a decent number of projects that saved time and improved performance. Our aim was not to build a platform only good for MVPs. We wanted to build a platform that could help software grow. Moving MVPs to the next level was necessary because maintaining software is where the real challenge lies. People often approach me and say that they are building things quickly on React, View, or Jungle. While that might be true if you are familiar with the platform, the real test comes when it's time to launch, handle bugs, and maintain the software.
People with experience in maintaining software know that it's difficult. If you build software and come back a year later, it might not work as things have changed. That's why we decided to make MarsX 4, a more accessible platform that could be opened up to the public. MarsX 3 was not user-friendly, and the threshold to enter was high, so we collected 273 feedback points from developers and started rebuilding it from the ground up. We managed to include almost everything that we thought would take four years to build.
Our master plan was to have ten versions, with the final version being Mars X. We managed to fit three versions into one release, which is not ideal, but we felt it was necessary, given our experience with MarsX 3 and the feedback we received from developers. With the advent of AI, we had to bring in AI earlier than expected. Now, we're mainly focused on UX work with the ID, and MarsX is using itself to build its own ID, which is the first test project.
Learn How MarsX was created in our other article - How MarsX was created