1. Inspiration

We wanted to engage users who are bored and stuck at home during COVID-19 with a fun social activity.

2. What it does

It's an app that allows users to challenge their friends using the poke to a dance-off, TikTok style. We created a chatbot that takes you from sitting at home alone and bored to getting funky with your friends. Check out our demo for walk through of the chatbot. Here is a list of features in our messenger application.

  1. View global trending challenges
  2. Start a new challenge
  3. Give a dare to your friends to complete your funky challenges
  4. An exceptionally friendly bot with a great memory (MongoDB)
  5. A web application integrated within DanceTown to facilitate easier communication (React and Amazon S3)

3. How we built it

3.1 Tech Stack

Our project can be divided into 2 different components: the Facebook messenger and the DanceTown web application. The web application has a React frontend and a backend made using Amazon Lambda (for api creation), amplify (for authentication) and S3 (for storage). The DanceTown messenger application is made with Facebook messenger (for user interaction), NodeJS (for user flow) and MongoDB (for user chat history tracking). Eventually, deployed the messenger backend on Heroku (for universal accessibility)

3.2 Our inner secrets

  • Aditi: Sprinkle of rainbow iced with excitement
  • Dat: Energy = Coffee * Milk ^2
  • Zhanxi: Sweat equity and unicorn puffs!

4. Challenges we ran into

  • Aditi: Connecting each user to a user schema that kept track of the conversation. Eventually, it was made possible using MongoDB. That was the most challenging part for me. Loved the journey!!
  • Dat: I had a hard time configuring permission to make posts public on the Web App while keeping the content only accessible through Auth method. Creating an all out website with functional front end and back end in several weeks was hard but also very rewarding.
  • Zhanxi: We ran into a mix of challenges with technical aspects of the app, but bc we had strong vision for what we wanted to create and make for users, we kept the end game in mind and created something that we're all really proud of.

5. Accomplishments that we're proud of

  • Aditi: A chatbot that connects well to the DanceTown web application. We added an aspect of fun to a mundane activity like messaging. And I must say I loved our team spirit.
  • Dat: Initially, we only planned to have a static website as a host for the chatbot links. However, I was able to convince the team to make it into a functional web app that follows our initial vision.
  • Zhanxi: When we fell into stride with working together, it was super magic! I'm really proud of my teammates for overcoming all the bugs, frustrations, and the errors they ran into. They're totally awesome.

6. What we learned

  • Aditi: Not giving up is the biggest factor that leads to success. We should continue to work hard until we have achieved our goals. I could not imagine that this was possible if all of us didn't have the right mindset or wasn't equally passionate. Cheers to a great team.
  • Dat: I believe that setting a goal that is more than what we were capable of helped us to be creative and more efficient on our tasks. And communication is the key to ease out the frustrations whenever the code stopped.
  • Zhanxi: The right sort of team communication is REALLY important. It's important to have a team that will allow you to make mistakes and be forgiving, while being super understanding. Also, underpromise and overdeliver :)

7. What's next for DanceTown

We are setting fire to the rain. We are sharing this idea with potential users to get them to work through the app and give user feedback. We will also need good logos, graphics, and animation to promote our idea on our page, and then we are pitching this idea to you so that you can link our webapp to the Facebook Poke xD

7.1 Possible features to be added in future

  • A game mode to view friend's status of challenge completion
  • A leaderboard to compare your performance with others
  • Game points that can be redeemed for rewards
Share this project: