Why we chose this idea? We had numerous companies reaching out to Freshdesk to build their custom apps that often do very basic tasks. We wanted to change this and democratize the whole marketplace app development. Also more often than not the support admins are not exposed to coding and hence when they want to build an app they would have to reach out to developers. This will encourage more people to build apps and also provide an easy interface to do so.
How we built it? We built the frontend as a marketplace full-page app. The frontend component is built as a conversational flow so that everyone can understand the flow of the app they are building. The frontend component constructs a data structure and sends it to the backend. The ruby on rails backend has a parser that parses this data structure to develop and build the code. This code is written in the specified file structure, zipped and sent back to the app to download.
Challenges: The idea as a whole itself is a complex one. We had to write a parser that is modular and can handle multiple types of marketplace APIs and also make the framework easily scaleable across products. Also building the data structure in the frontend app components using jquery was a tedious task.
What does it do? It allows users to build their own apps using interactive UI and eliminates coding.
Accomplishments that we're proud of? Building such a complex app in time constraint of 36 hours
What's next for Scratch? This can be an important feature for the marketplace itself. Being a major differentiator for us. This will urge more apps being created and utilized which is a big win for us in terms of support for huge customers. Hence scratch can be extended to full capacity in the future.