Inspiration

We understand that learning English can be hard, like stupidly difficult, there are so many intricate and dumb rules that seem to make absolutely no sense. So we decided to create something for our fellow strugglers. We created Defined, an interactive web-game where you can expand your vocabulary, learn new words, and practice on words that you already know.

What it does

Defined presents the user with a word, maybe one they've heard of before, maybe one they haven't. The user must make a decision between two definitions on screen, which one is the correct one? A correct choice will increase the users score whilst a wrong one will set it to 0. Try to get a high score and post it on social media to all your friends!

How we built it

Through blood sweat and tears of course. Not really, we used the FreeDictionary API as the central pillar of our program, we found a list of the most commonly used words in the english language, created designs on figma to visualize what our pages would look like, built the css for each page, then added a swipe function, included our api calls for a random word, used a different word for a secondary definition to play against. We played around with ideas of using a server then decided to keep it simple, stupid, and kept it all client-side. We worked on the scoreboard and the external pages to finish our weekend off and capped it with a video to boot.

Challenges we ran into

Throughout the weekend we ran into many problems, the first of which was the word list, we originally wanted to create a large list of obscure english words, to trick and test our users, but issues with API calls and file sizes made us shift our focus onto more commonly used english words and their meanings.

Once we had our word list sorted, we found issues in asynchronous API calls from a server we implemented using Node J.s however to solve this we scrapped the server entirely and kept our process light and only on the client side, precomputing form a word list present in the js file hosted by the client.

We also ran into the usual bugs caused by oversights in implementation, but using sheer force of keystrokes and red-bull we managed to smooth out hopefully all, but probably most of our bugs.

Accomplishments that we're proud of

We’re pretty proud of what we’ve accomplished as a team of first-time hackers and this being our first hackathon, having a somewhat polished game is pretty cool to see. We’re especially proud of the ways that we communicated, and collaboratively solving our issues with no arguments all weekend. Having a clear direction and set roles helped our team to get to our benchmarks in time. Overall it’s been a blast developing Defined.

What we learned

We learned a lot over the course of the weekend, how important having a plan to follow is, making sure that we’re all clear on our next steps was crucial to us not wasting time on features that we were too far along the development process to be useful. We also learnt how incredibly important it is to have clear lines of communication. On the more technical side we learnt the drawbacks of having a sophisticated back end as well as understanding how important the size of data sets are and the importance of clearing redundant data for a more polished user experience.

What's next for Defined

There’s a bunch left to do for us, here a sneak peak into our roadmap:

  • Creating new game-modes for users, (opposite mode, difficulty levels)
  • Keeping an online leaderboard, including other user’s games as well
  • Using a more sophisticated word list
  • Implementing features to narrow definitions down to types of words.
  • An Ios and Android App

Built With

Share this project:

Updates