Here’s my idea selection process.
The CS50x provided specifications are minimal. There are no mandated languages or frameworks. Your project only needs to be larger and more complex than the past problem sets (or change the world).
All that we ask is that you build something of interest to you, that you solve an actual problem, that you impact your community, or that you change the world.
A one-person project should entail more time and effort than is required by each of the course’s problem sets.
I also added my own personal requirement for the project.
- Uses at least 1 external API.
- Will be a web app.
- Will use a database.
Final Idea Selection
I ended up with three useable ideas, which all met the required specifications. Here they are.
The winner – A Twitter Sentiment Guessing Game
You will be given a random Twitter user’s photo and bio (pulled from the Twitter stream API). You then need to decide whether the user’s Tweets are mostly positive or mostly negative (using submission buttons).
Here’s a very crude mockup:
After making your selection, you are shown the correct answer based on the user’s most recent Tweets (using sentiment analysis).
The application allows the player to create an account, which will store their game history.
There are several additional features I may add to the game:
- The ability to Tweet at the random user.
- Visualisation of Tweet sentiment using D3.js.
- A global scoreboard of players (ranking based on correct guesses).
A web app that returns the availability of social handles and domains for a search term (check out the original here).
There’s no real need for a database.
A happy hour app for Chapel Street (a busy dining/nightlife location in Melbourne, Australia). It would display the various happy hours in the area based on data submitted by users. The map data (and main display area) would be generated using the Google Maps API.
The requirement for user-generated content makes the idea too complex. I still might make this as a personal project one day (maybe as a mobile app).
The Twitter guessing game hits all the requirements, and I think it’s a pretty interesting challenge. It also doesn’t have any major scope challenges.
This post is the first in a series following the creation of my final project for CS50x. Check out the second article on Language, Framework, and Tool selection.