In 2016 I've created web service for building Machine Learning models in the cloud. However, I wasn't happy with it because it only allows building ML models on already prepared data. So I've started searching for a nice way for preparing data in a low code manner.
At first, I was considering GUI with drag and drop nodes, where each node represents an operation on data. I wasn't happy with that solution because it can easily get messy (spaghetti of nodes) and it is untestable. So I keep searching ...
It came to me that the best low-code solution will be a code itself, with GUI to generate the code. I was looking for the best way to execute the arbitrary code on the web and I came to Jupyter Notebook.
As a result, I've started working on the MLJAR Studio. It has frontend created in react and redux. It connects to Jupyter Notebook (for computation) and Django server (store and manage the project).
Users can generate code by clicking. All code creates a script that can be executed.
All results are represented as widgets and can be easily shared with others by sending a link.
There is still a lot of work to do: more operations covered with GUI, the interaction between widgets and code, periodic runs of scripts, ability to connect with databases and APIs, and of course support for ML.
In the future, I would like to have two versions of MLJAR Studio: open-source version and pro-version with additional features.
Demo address: http://204.48.28.64:8000/ (you don't need to set account, be careful, it is one user only, so everyone can see your activities and data, and it uses HTTP!, the address will be active for 1 week).
I played with the demo & liked the capability of quickly inserting a snippet of code by selecting + customising a widget. The idea of making it quickly shareable / deployable apps is also very powerful. You product is along the lines of Streamlit / Voila / Plotly dash. Write plain python to make deployable front end apps for dashboarding etc (additionally you help writing that python with readymade snippets).
While the capability is powerful, I'd recommend finding a persona that would actually use it enough to pay for the "pro" version. Currently it's geared towards data scientist, but they are very comfortable writing notebook code to generate visualizations. So the low-code (generate code from widget) part is not very appealing to them. They need simple yet powerful python constructs that creates beautiful front end components for them (headers, paginated tables, plots, graphs, interactive widgets). And then make it easy to deploy these apps internally. Checkout Streamlit that promises to do both these very well.
Thank you Amit! I would like to add much more to the application:
1. I would like to add scheduling.
2. I would like to define different types of notebooks: notebooks for exploratory analysis (default one), notebooks for workflow automation, notebooks for packages development (with test driven development), notebooks as REST API
3. I would like to allow to connect different data sources: databases and third party APIs
4. I would like to support Machine Learning APIs
I've seen your work, especially reviewNB - impressive!
At first, I was considering GUI with drag and drop nodes, where each node represents an operation on data. I wasn't happy with that solution because it can easily get messy (spaghetti of nodes) and it is untestable. So I keep searching ...
It came to me that the best low-code solution will be a code itself, with GUI to generate the code. I was looking for the best way to execute the arbitrary code on the web and I came to Jupyter Notebook.
As a result, I've started working on the MLJAR Studio. It has frontend created in react and redux. It connects to Jupyter Notebook (for computation) and Django server (store and manage the project).
Users can generate code by clicking. All code creates a script that can be executed.
All results are represented as widgets and can be easily shared with others by sending a link.
There is still a lot of work to do: more operations covered with GUI, the interaction between widgets and code, periodic runs of scripts, ability to connect with databases and APIs, and of course support for ML.
In the future, I would like to have two versions of MLJAR Studio: open-source version and pro-version with additional features.
Demo address: http://204.48.28.64:8000/ (you don't need to set account, be careful, it is one user only, so everyone can see your activities and data, and it uses HTTP!, the address will be active for 1 week).