We arrived at HackDavis having no idea what to build and only a vague idea of what software we wanted try to hack. After looking at various documentation for the APIs that would be present, we found Watson's innovative cognitive abilities to be interesting. So we decided to use it. When Teach for America gave its talk during the opening ceremony, we felt that we had a solid solution to the problem of tailoring teaching material based on grade level. Using Watson, we set out to hack a solution to education.
What it does
Quiz.sh uses Watson's AlchemyAPI to scrap content from Wikipedia pages and generate questions for the user to answer. The user can select a topic and the web application will query our database to output questions based on the specified topic. For now, it only scraps scientific content, and our mathematical questions were generated using a Java program. But the combined content is able to give our database a solid basis of questions to query from.
How we built it
Challenges we ran into
Postgresql and Ruby on Rails were not inserting into the database as expected: only one tuple was stored into the database even though the program sets variables to different values through each iteration. We also had trouble formatting the Wikipedia content into feasible questions. Linking the front and backend was also troublesome. Possibly the hardest part was getting Rails and Postgresql working on, and in the end, only two computers had it running; also setting up the database and Rails app from scratch was difficult.
Accomplishments that we're proud of
We made a decent prototype and accomplished almost all the tasks we set out to do. We also equipped our prototype with enough content to expand and be more robust should we develop it more in the future. It's also flexible in a way that, with a little more development, it can work with any topic you give the application.
What we learned
What's next for Quiz.sh
We're planning to add sub-categories, varying difficulties, different question formats, and implement a better UX/UI.