profile

Hi from Hal9!

The Next Generation of Machine Learning Apps

published3 months ago
3 min read

We spent this entire year building this for you:

pip install hal9

A python package to build better ML apps through a visual designer with multi-language support. Check also hal9.com/docs, github.com/hal9ai/hal9 and hal9.com. Let us know what you think!

The Next Generation of Machine Learning Apps

In the beginning of the year we started building Machine Learning Apps (ML Apps) with a handful of customers; they all had in common that current web frameworks (Streamlit, Dash, Voila, Mercury, etc.) were not sufficient to build their apps, but why? We found there is an expectation that the next generation of ML Apps need to run in mobile, have stricter privacy requirements, and need to be easier to build and easier maintain.

Mobile First: ML Apps need to run in mobile, some mobile apps can follow the standard client-server architecture that existing frameworks support. However, if you need to make use of video and other real-time sensors, it's not possible at all to send all the data to the server to be processed, especially in mobile devices where bandwidth is costly.

Privacy First: Some industries, like healthcare, require ML Apps to protect sensitive data. It's possible to use a client-server architecture for these apps; however, that means that data must leave the device (say the web browser) to be processed in a data center, which means that the ML App must run in secure environments with extensive privacy certifications, etc. The next generation of ML Apps should run efficiently in the existing hardware where it resides (in hospitals, factories, etc.) to easily guarantee privacy for sensitive data.

Easier to Build: ML experts are still spending months learning ML App frameworks, we expect ML experts to not only write the ML backend, but also the web frontend. One must learn reactivity concepts, caching, web APIs, and best practices across to become proficient at building apps. Is no surprise that many ML experts decide to not write ML apps at all.

Easier to Maintain: Even if ML experts succeed in building ML Apps, then they must be maintain indefinitely. Unfortunately, current ML App frameworks rely entirely on Python, Julia and R; making it very hard for engineering teams to support. Most web developers work with TypeScript, React, Vue, Node, etc. not Python, Julia nor R. This makes the ML expert responsible for maintaining the ML App, that's not a good use of time for ML experts.

Design Visually, Power with Code

So what is the solution we need? Well, it needs to be mobile first, privacy first, easier to build and easier to maintain. We believe we can accomplish this with a WYSIWYG Designer and Multi-Language Support that includes Web Technologies:

WYSIWYG Designer: We need ML Apps to be Easier to Build. Many successful tools have been created for web developers to build web apps with ease at lower cost: WebFlow, Wix, etc. So why wouldn't we do something similar for ML Apps? We know it works for other web apps! The reality is just that this has not been built yet, until now. Hal9 is the first ML App framework with a visual designer for Python. You drag & drop controls to build the web frontend, but use any Python code to build the backend. This is probably enough to start using Hal9, full stop.

Multi-Language Support: ML Apps are growing beyond data teams, they start as prototypes, grow into internal apps, and end as mission critical apps. Unfortunately, this often means rewriting ML Apps when they get handed off between scientists to engineers and there is little opportunity for collaboration as they mature. Hal9 enables you to write cross-language apps mixing Python and R but also enables you to get help from web teams by enabling web designers to help with HTML / CSS and web developers with JavaScript. By leveraging your web team (devs, designers and operations), it makes Hal9 apps more interactive, better looking and also Easier to Maintain.

Web Technologies: Python, Julia and R work great on the server, but can't be really used today to build mobile applications. The mobile development ecosystem is fragmented in iOS and Android with no support for Python, Julia nor R. The most popular cross-platform framework would be ReactNative, which happens to run with web technologies. Hal9 therefore supports web technologies first hand to enable ML Apps to use server code to train models and web technologies code for Mobile First apps or self-contained Privacy First web apps. With Hal9, you can build web apps that requires no server whatsoever, making it ideal to protect your data privacy. For example, a healthcare company can run self-contained server-less apps and submit for FDA approval in weeks, not months.

Getting Started

Ready to get started? Here are a few options:

Try the Package: Go to hal9.com/docs and install the Python or R package. If you hit any issues or have questions, open a GitHub issue in github.com/hal9ai/hal9. Like what you see? Give the repo a star!

Try our Cloud: We have plans to develop a full publishing platform for the enterprise and the cloud. For simple ML Apps with standard dependencies (pandas, scikit-learn, etc) you can build and save ML Apps online here: hal9.com/new

Work with Us: Our team of ML experts or partners can also build ML Apps for you. Reach out to pedro@hal9.ai to figure out how to help out.

We are extremely excited to start working with early adopters, get your feedback, and build the next generation of ML Apps together!

We look forward to hearing back from you.

The Hal9 Team