Inspiration

choices is heavily inspired by both my friends' inability to make decisions and my experiences in scrum planning poker. In both scenarios, I frequently saw group members anxious to share their opinions for very human reasons - fear of seeming like an "outcast" for sharing your opinion first, even in close teams, or being influenced by someone else's responses. choices was built to simplify any decision or question, in a way where everyone can know their opinion matters.

What it does

All users are shown the same question and the same options. They may select an option from the list, and once all players select an answer, all responses are revealed simultaneously, allowing the group to discuss the results.

How we built it

choices is mainly built in raw HTML/CSS, with the idea that it should be responsive, to remove any friction that would discourage users from playing. JS is used to manipulate elements, and the socket.io NPM package is used to set up a server and connect clients to each other.

Challenges we ran into

A lack of familiarity with the underlying technology. I went into HTN 2023 with very rusty knowledge of JavaScript and was unable to even comprehend how I would build an interface between multiple clients.

Accomplishments that we're proud of

Truly going from very little knowledge in this area to completing a project that I can show off and feel excited to improve in the future. Being able to visualize my idea, map it out onto paper, bounce ideas off of peers, and bring it to life on the screen for others is always such an amazing feeling.

What we learned

JavaScript can be finicky. It's very easily to end up in the epitome of what can go wrong with a dynamically typed language.

What's next for choices

  • Modularity for questions (especially user created). Turns out local JSON is not trivial to load into JS, who would've guessed?
  • AI-generated questions. In some of HTN 2023's talks I found out it was shockingly easy to set up useful AI prompts to create copy for you. I would love to be able to generate new questions on-the-fly, possibly with user-queried topics.
  • Proper online support. This would include a domain name, server hosting, and breaking off users into small groups they can create and join on their own.
  • Increased user/option count support. This is more of an issue of wrangling UI, as I wrote choices to be as expandable as possible.

Built With

Share this project:

Updates