MoodBeam

GitHub Repo

Inspiration

As we were exploring the events and featured technologies of the hackathon our idea came together and we started working on a way to illustrate the real experience of San Francisco. Our group had a mix of hardware components, software skills, and experience levels. When we discovered the theme was City Life, we wanted to find a way to communicate information about the city that took advantage of our interests and skillsets, and MoodBeam was born.

What it does

Reddit's mood, visualized in real-time: Using Fireworks.ai and microcontrollers, MoodBeam creates a unique LED experience that reflects San Francisco's sentiments through vibrant color display.

How we built it

MoodBeam was constructed through a combination of software and hardware integration. We used the Fireworks.ai Mixtral MoE 8x7B Instruct model to analyze the sentiments of the most recent Reddit posts from r/SanFrancisco and assigned them a positivity score on a scale of 1 to 5. Each score was represented by a specific color, with 1 being red and 5 being green. This score was then sent as a JSON payload to a server running on an ESP32, which transmitted the value to an arduino that controlled our addressable LED fixture.

Challenges we ran into

  1. The sentiment on Reddit is generally negative. To account for this, we prompted the AI such that it would report a higher positive score on average.

  2. Working with multiple microcontrollers and serial monitors simultaneously was something we constantly had to keep an eye on. Taking the proper steps between each sketch upload and serial monitor interaction was very important.

  3. The server we were running on our ESP32 was unable to access the Wi-Fi network, so we used a mobile hotspot. It proved challenging to make sure everything stayed connected.

Accomplishments that we're proud of

  • Successfully integrating Reddit's API into our system was a significant milestone, allowing us to retrieve and analyze real-time post data accurately.
  • Overcoming the learning curve faced by a team of 3 out of 4 first time hackers was a testament to our dedication and collaborative spirit.
  • Furthermore, refining the synchronization between the sentiment analysis model from Fireworks.ai and the LED display through Arduino and ESP32 showcased our problem-solving abilities and technical proficiency.
  • Completing the project within the hackathon timeline, despite the challenges encountered, demonstrated our team's efficiency, adaptability, and ability to deliver results under pressure.

What we learned

Technical:

This was our first time using Fireworks.ai, we were all very impressed and plan on using it for future projects. It was the first time integrating hardware and software for most members of our group, testing with hardware has unique challenges and benefits. When something works, it’s very clear, but when there’s an issue, it can be tough to track down.

Design:

We ended up pivoting our hardware design a few times and ultimately decided to split the tasks of networking and lighting control between two different microcontrollers. We spent hours chasing problems on a board we were trying to program to do both tasks. In hindsight, it would have been better to evaluate the demands we were planning for each element of our stack earlier.

Documentation and Communication:

Every single member of our group explored new technologies this weekend. It was fun to get to know each other and learn from one another. Sometimes just asking a question to a team member was enough to work out a solution on our own, other times we hacked together for hours on a single problem. It was great to build in a collaborative environment.

What's next for MoodBeam

Enhanced and Scaled Sentiment Analysis:

Refining and expanding MoodBeam's sentiment analysis capabilities by incorporating more advanced AI models and natural language processing techniques would improve accuracy of the ratings. Weighting the posts based on their number of upvotes allows for more nuanced insights into Reddit discussions.

User Interface and Interaction:

Building a dashboard that allows users to control which social media source they’re displaying and customize their output colors.

Integration with Additional Platforms:

Extending to more social media platforms and online communities, such as Twitter, Facebook, and other online forums, we can provide users with a comprehensive view of online sentiment across various channels.

Community Engagement:

We plan to actively engage with the community to gather feedback, suggestions, and feature requests for MoodBeam. By listening to our users' needs and preferences, we can continuously iterate and improve the platform to better serve their needs.

Built With

Share this project:

Updates