Inspiration

We were inspired to use the SmartSpectra SDK (by Presage) once we saw it as a track in MLH. Then, we brainstormed some ideas on what we could build using it and eventually settled with our current idea. Ultimately, what inspired us most was the drive to win while still having tons of fun along the way.

What it does

The game is a multiplayer party game, where players join a lobby and compete against each other to see who can make the best facial expressions in the shortest amount of time. You can choose between doing 5 or 10 rounds, as well as slowly decrement the amount of time that you have to make the correct expression in subsequent rounds, or even do a blitz mode where you have to do the most expressions in a certain amount of time.

How we built it

We used React with Vite for our frontend and Python FastAPI for our backend, which calls the SmartSpectra, Gemini and ElevenLabs APIs.

Challenges we ran into

Deploying to a Vultr server proved to be difficult as it was our first time setting one up. Also, working with the SmartSpectra SDK proved to be quite challenging - first off, its primary support for desktop and PC is through using a Node.js and Electron backend (i.e. a desktop app rather than web app), which meant that it caused difficulties with getting the correct response. Second, it turns out that its API endpoint blocks requests from server IP addresses, which we were able to circumvent by proxying the connection using another device.

Accomplishments that we're proud of

We managed to complete an MVP while overcoming the challenges stated above, as well as going above and beyond by migrating the Node.js backend for SmartSpectra to Python.

What we learned

We learnt how to set up a VPS and gained (more) experience using SmartSpectra, ElevenLabs and Gemini APIs.

What's next for Emotional DAMAGE

More features, e.g. scaling it further into an MMO, matching multiple facial expressions in a round, global leaderboard.

Built With

Share this project:

Updates

Submission history