Inspiration
The idea for Visuali came to me when I observed the huge and crowded comment sections on YouTube. It made me wonder how big YouTubers manage to read all those comments, which are crucial as they are creating content for their audience. When I was in ninth grade, I even thought of starting a YouTube channel that would help other YouTubers understand their audience's preferences better, but I eventually discarded the idea as silly. However, when I came across this AI hackathon, the thought of building a tool like Visuali resurfaced in my mind, and with programming skills, I could now do it better.
What it does
Forget all those primitive comment sentiment analyzers .When a tool like Visuali can give you great insights .Visuali is an AI-powered tool that analyzes crowded comment sections and helps creators understand their audience's emotions. It classifies the comments into 28 different emotions, allowing content creators to structure their upcoming videos accordingly. It then breaks those 28 emotions into 5 most intense and frequent emotion. Not only this you can trace back to the comments by clicking on the graph label's emotion.
How we built it
For the frontend of Visuali, I used Next.js and JavaScript, while for the backend, I used Node.js, Express, and the Hugging Face inference API.
Challenges we ran into
Developing Visuali came with a lot of challenges that both fascinated and stressed me. For instance, I had never implemented charts before in any of my projects, and I had never worked with any machine learning model before. This made the entire project a massive task for me, and choosing the right ML model and finding the right way to work with hugging face inference api, consumed most of my time. Because there aren't many resources available on the internet that teaches inference api with node.js, i encountered specific issues. like if a video have has 1000s comment then how to feed these queries to the model and get the data back. I also encountered a lot of bugs while working with Node.js, which was another level of a headache. Overall managing all the network calls and ensuring that every piece should work together was a quite challenge for me.
Accomplishments that we're proud of
Despite the challenges, I am proud of several accomplishments with Visuali. For instance, as the Hugging Face inference API plan is a free-tier. so, I wrote the code for dividing thousands of comments into smaller batches of 10-20 comments to avoid the 500 internal server error.so now my backend sends batches of 10-20 comments rather than sending 1000s of comments at once which led to internal server error. I had never called so many network requests in one project, which made my application error-prone at the beginning, but some how i managed it. However, I managed to write the flow on the notebook and see it work, and then glue all the pieces together, one by one, to create Visuali. It was 2 fantastic days of this hackathon.
What we learned
Developing Visuali taught me a lot about different ML concepts, such as BERT, word2vec, vectors, and transformers. I took through overview of these technogies to choose the best model. I also learned how to build a big project in just two days, which would have taken me about seven days without the hackathon. I also learned how to write a devpost on a 4.5h of sleep.
What's next for Visuali
Visuali has the potential to be a game-changer for content creators as it bridges the modern gap between them and their audience. There are many features that I can implement, such as analyzing conversations in the comment box, adding more emotions like sarcasm (which can be challenging), and analyzing the timestamps and comment time to give creators the right to publish their content, which can help increase engagement. The possibilities are endless, and I am excited to see Visuali providing real insights, not just sentiment analysis like most of the other tools in the market.
Built With
- express.js
- huggingfaceinference
- javascript
- nextjs
- node.js
- render.com
- vercel
Log in or sign up for Devpost to join the conversation.