I've attended hackathons before, but I have always utilized my web development skills instead of doing anything data-science related. Being a bit of an ML enthusiast, this pains me. At RevUC, I finally had the chance to work solo and dictate my own project, so I took it upon myself to make something data science related that is educational for everyone who wants to get into the field.
What it does
My personal philosophy is I don't build things I don't use. The app visualize and dynamically build ML architectures on the spot by changing parameters on the sidebar. It will also train the model against the MNIST dataset, and allow the user to enter their own input in after the training is complete. So basically, it helps people interface with and better understand neural networks. As a person who is coming back to ML like me, it is very helpful to see the subtle inner workings of activation functions or how hidden layers change the game.
How I built it
I mainly rely on streamlit for the front-end handling, since working solo give me a tough time budget, but also because I enjoy using the library. The backend is handled by tensorflow and other libraries to support building a machine learning app, like opencv.
Challenges I ran into
Aside from the limited time budget, working solo essentially means that I cannot rely on other people to cover technical areas that I'm not competent enough in. ML was the core of the project, yet my ML skills are quite rusty from a long time of not really using them. I was originally using pytorch, but had to make the switch to tensorflow midway due to the pytorch library not being as flexible as I'd hoped.
Accomplishments that I'm proud of
I pretty much have to familiarize myself with the concept of ML and ML libraries again. Needless to say that took some deal of time, but I managed to finished the project ahead of time (at 4:30AM though, so that barely counts). This would also be my first hackathon solo, and my second hackathon in my freshmen year, so I'm quite proud of that too.
What we learned
A lot of streamlit. I originally only scratched the surface of streamlit while doing hobby projects before, now I even host the webapp on their cloud. I also re-learnt tensorflow and the vast amount of supporting libraries for it.
I have also learnt the importance of teamwork and how to balance it between personal interests and drives in this solo experience, as it helps me see the pros and cons of both approaches.
What's next for rAI
What's next for rAI? Introducing Convolutional Layers into the mix, since it would be easy to integrate it into the already existing Sequential model-based dynamic construction. Allowing for usage of a different dataset, or importing a custom dataset would be nice too.
What's next for Rai? Probably another hackathon, if I can afford another weekend.