end-to-end data product for generating random science quizzes
PureScript Python JavaScript Haskell HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
cycle-js Update README.md Feb 14, 2016
haskell-servant cache transitions Feb 15, 2016
purescript-express add a comment Feb 18, 2016
purescript-pux Create README.md Feb 14, 2016
python-data lots of tweaks Feb 14, 2016
.gitignore add gitignore Feb 12, 2016
README.md Merge branch 'master' of https://github.com/joelgrus/science-questions Feb 17, 2016
UNLICENSE fix unlicense Feb 12, 2016
science-quiz.png add image Feb 14, 2016



The other day the Allen Institute released a dataset of elementary school science questions. And every dataset is an opportunity to build a stupid data product.

This one is a stupid science quiz generator. It's an end-to-end product with three phases:

  1. Data: extract the questions data and build up a corpus of what science questions look like (http://joelgrus.com/2016/02/15/building-a-stupid-data-product-part-1-the-data-python/)

  2. Backend: create an API that uses the corpus to generate and serve random (stupid, bogus) science questions (http://joelgrus.com/2016/02/15/building-a-stupid-data-product-part-2-the-web-service-haskell/)

  3. Front-end: create a web-app that consumes the API and allows you to play the quiz (http://joelgrus.com/2016/02/15/building-a-stupid-data-product-part-3-the-single-page-app-purescript/)

science quiz

For now there's a version running at http://joelgrus.com/experiments/science-questions/

The data layer is implemented in python. (python-data)

The backend was originally implemented in Haskell (haskell-servant) but I couldn't figure out how to deploy the binary to EC2, so I also created a Python version (python-flask).

The first version of the frontend was in cycle.js (cycle-js) but for some reason it stopped working.

The current version of the frontend is implemented in PureScript (purescript-pux).