Inspiration.

Between the two of us, we created a few ML models in the past, and we always wanted a way to easily test our models in the field as well as support ML models by other community developers that always seemed to be amazing yet had no way to easily access them!

What it does.

Octobazooka reaches out to all folks! For developers and startups who want to quickly test their machine learning models on real world data and submit their models to our API for publicity and use by all others who have the extension with driven community-engagement, to users who want to try all sorts of niche models for fun like fashion analysis, to the tech-savvy who aim to use ML to combat misinformation, manga transcription, and locate the best models for niche tasks, to the impaired who want to try ML for beneficial reasons like image-to-text and video-to-text captioning, Octobazooka facilitates it all!

How we built it.

Octobazooka was built primarily as a browser extension, currently supported on Chromium via Manifest V3. We used Django for the backend of our web application, where developers and users can submit or view models to test. We used authentication from Google OAuth 2.0 and we used Google Compute Engine to host our extension and web application, and protected it via Cloudfare. Additionally, we gathered some default models for users to choose from using APIs from HuggingFace and AssemblyAI, which provide essential services such as transcribing videos, translating images, and much, much more. Finally, we used MongoDB to store user-submitted models and their API endpoints to be used by all other users, Redis for caching to soften the large wait times of ML models, and Github to store our extension and web application. Check out the image gallery + captions for more information.

Challenges we ran into.

The hardest challenge we faced was our race against time. In the past, we built projects over the course of months, not just a single day and we wanted to get as much done as possible without dying. In terms of technical challenges, hosting our application on Google Compute Engine (GCE) took up quite a bit of time. We also wanted, in our demonstration, to be able to connect one of the models one of us had previously trained into our application in order to demonstrate how doable and easy it can be done, and thus needed another GCE instance to host that as well.

Accomplishments that we're proud of.

Today was the first time both of us have entered into an in-person hackathon. We really liked it and we had a lot of fun with all the people and projects around.

What we learned.

This was my (Noah) first experience with Google Compute Engine, Manifest V3, GoogleOAuth, and Cloudfare, and thus I tackled these tasks to become familiar with them. Meanwhile, Ramon learned much more about Django as well as Redis, web application development, and deployment, and handled those half of the tasks.

What's next for Octobazooka.

We'll definitely be including this project in our future endeavors, especially since we are both actively developing machine learning models that would benefit greatly from what we have created. Octobazooka can really launch forward any future machine learning projects for live, real-world inference and fine-tuning. We'll definitely consider adding more support for all types of input/output data and an easier way to search for user-submitted models, as well as maybe adding a monetization scheme for startups and developers to earn money with the models they submit based on usage rate.

Built With

Share this project:

Updates