
Inspiration
Everyone knows that sometimes you just lose concentration on your lecture and become a bit tired of it. We provide a solution to how to stay motivated - a memebot! This bot sends memes about the current topic on the lecture, so if you're discussing gradient descent, Max-Q (some aerospace term), or Literature of Later Renaissance, you'll receive some funny pictures about this.
We believe that this bot helps people:
- You can stay concentrated on the lecture
- Your mind receives a small piece of information that makes you smile (and smiling is important for concentration)
- You know more jokes about the lecture topic (A+ during the exam guaranteed, if not, we'll return money someday)
What it does
This bot listens to the audio stream of your lecture, extract different terms and topic, and tries to find you the best memes for these topics.
How we built it
The bot consists of 3 main
- Local listener. This component stays locally on the system and listens to the system audio played (e.g., lecture over the zoom) and periodically records the several seconds of the audio stream. The recorded stream is provided to the nlp_function to the Google Cloud.
- Later, we'll replace it with another API for the Zoom or anything
- NLP Function. This is implemented as a GCP function. This function receives the audio stream, provides it to the Google Cloud Speech-to-Text engine, and parses the text.
After that, the parsed text is provided to the Google Cloud Natural Language Processing engine to recognize entities (like technical terms and similar). The recognized entities are sorted by salience (the most important one first) and then we take the two most important words and send them to the sideworker. - Sideworker. This is also a GCP Function that receives the entities and does a search for some meme about them! :D We use Google Custom Search API over all Internet to find a meme picture about this, and then send this picture to your discord channel to keep you motivated and concentrated on the lecture!
Challenges we ran into
- Oh, if you just try to imagine how is it hard to make a system record its own output programmatically and make this process stable...
- How often to post memes! (seriously)
- Safe search! (memes can be harsh)
- How to read the Google Cloud documentation in 15 minutes to make everything work before the teammate starts to look menacingly at you
Accomplishments that we're proud of
- We made it work!
- We deploy it in the Google Cloud, so we can easily scale it later and provide our services to all universities of the UC system, USA, and worldwide later!
- We managed to connect different Google Cloud Services and create a stable (no) reliable (haha) and scalable (no way) solution for your meme hunger.
What we learned
- With Google Cloud Platform you can rather easily create different solutions and pipelines for your needs (definitely recommends everyone instead of hosting locally :D)
- Discord Bot API is pretty and awesome
- Memes help not only during lectures but during coding as well (code2meme is our next project)
What's next for UCSB Lectures Memebot
- Memetization! Who needs monetization, memes are better.
- Zoom API and official integration, later - becoming the main partner of Zoom company and apply to CEO position
- Code2Meme - let's just summarize your code and try to find appropriate memes for it :D
Built With
- discord
- google-cloud
- google-cloud-search
- google-web-speech-api
- imagination
- linux
- natural-language-processing
- python
- zoom
Log in or sign up for Devpost to join the conversation.