We began by thinking about what our own presentation would look like at the end of the hackathon. We wanted to empower people to be more confident in their presenting abilities and thought about how we felt when we had to create a presentation on extremely short notice. We ended up deciding that an automated presentation creator would be a great contribution to the world for all those people who forgot to make a presentation for their 8am class.
What it does
EmpowerPoint is a tool that automatically creates live presentations as a speaker makes his/her presentation. The tool listens for keywords and does exactly what the user wants. For example, it is capable of looking up information instantaneously, displaying moving images of the speaker's subject, summarizing the speaker's main points, and creating related graphs based on Google Trends data. It can be used by impromptu speakers, people who need live translations from another language to English, or people who just like to live on the edge.
How we built it
This project had multiple components: -speech to text recognition through React and WebKit Speech Recognition APIs, -summarization of text using NLP libraries like spacy and NLTK -translation between languages -image searching through Giphy API -analysis of relevant data through Google Trends API -creation of charts/graphs through ChartJS -front end development through React
We built these components in this approximate order
Challenges we ran into
Because the summarization of text is so subjective, it was quite difficult to devise an NLP algorithm that would accomplish the task at hand. Another difficult aspect of the development process was getting the numerous APIs and libraries between different languages all working in conjunction.
Accomplishments that we're proud of
Having a diverse set of APIs, libraries, and languages all working together smoothly and a really clean front end.
What we learned
We learned how to: -write NLP algorithms with spacy, NLTK, and string manipulation -use many APIs including Giphy, WebKit Speech Recognition, and Google Translate -use Flask to as a backend framework -use React as a front end framework
What's next for EmPowerPoint
Look into future possibilities of adding features like instant language switching, a better summarizer, and a more formal option.