Inspiration
Ever since I started my journey into machine learning in grade 11, I have been mystified by how unavailable people's findings are for applied papers. I would read papers about people training amazing algorithms that could do things like predicting life expectancy from pictures of people's faces, and all I wanted was to try it for myself and have access to the algorithm. However, recreating the papers' results is a challenge in itself, making the concrete results inaccessible and impossible to play with. In essence, much of the power that cutting-edge AI research has is held by a select few.
I wanted to create a platform that enables people to put their trained algorithms online in an accessible way so that lay people can use them easily. I wanted a platform that a random student with no coding experience can find and play around with cutting-edge algorithms in an easy and productive way. I want to make a platform that connects machine learning enthusiasts and researchers directly to people who can use their discoveries and algorithms. In essence, I wanted to democratize AI.
How we built it
The front-end of our app is built in JavaScript, Angular, jQuery, and HTML5/CSS3. The back-end for uploading machine learning models was built with flask for easy integration of Python scripts. For fast and efficient compilation and execution, we built a further back-end layer in Rust in order to optimize the manner in which we hosted and built servers for the client.
Challenges we ran into
One of the main challenges we ran into was the scope of the project as a whole. We knew that we wanted to make this both an accessible project at the same time as making an efficient project. Creating the entire system for passing along scripts, managing input names and types, compiling Rust servers, and database linkages was a massive undertaking. We all had to burn the midnight (and daytime) oil to get this done.
Furthermore, one of our teammates did not have a laptop in the country. We had to trade back and forth to make sure we could take full advantage of everyone's skills and abilities.
Accomplishments that we're proud of
One particularly difficult thing to pull off was our Rust based server creator. Our teammate Jad created a library that ran on a server to create new hyper-efficient Rust-based server instances for each machine learning algorithm the client wants to make public.
Furthermore, the dynamic construction of the client-served UI that converts a simple JSON file into a fully styled and working HTML5/CSS3/jQuery UI that can make requests to a server that is also dynamically generated was a massive undertaking. However, getting these to work together is what allows us to make our platform into the extremely efficient and highly accessible piece of technology that it is.
What we learned
The environment in which you work can make or break your progress. We struggled initially to get acclimatized to juggling computers between the three of us due to the fact that one of our team members was missing their regular workstation. We were able to struggle through, but that was definitely a significant roadblock.
What's next for Democracy.AI
Expansion of the service in terms of the available inputs (we currently have numerical, string, and image inputs) would be a primary next step, in addition to making a more in-depth hosting service for B2B services. As well, user experience testing and more secure linking of each page.
Log in or sign up for Devpost to join the conversation.