Skip to content
Chains Invent Insanity is a Flask-based web app which uses Markov chains to generate answer cards for the game Cards Against Humanity
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Chains Invent Insanity

A Markov Chain-based Cards Against Humanity answer card generator.


Basic Standalone Setup:

All app files can be found within the ./app directory.

  1. Create a virtualenv: virtualenv chains-invent-insanity
  2. Activate the new virtualenv: source $path_to_venv/bin/activate or with virtualenvwrapper: workon chains-invent-insanity
  3. Install Requirements: pip install -r requirements.txt
  4. Create .env file in ./app directory based on the env.example file in the same directory.
  5. Run the app via the bundled gunicorn WSGI server: gunicorn -D -b -w 1 web:app

Setup via Docker Compose:

  1. Create .env file in ./app directory based on the env.example file in the same directory.
  2. Build microservices: docker-compose build
  3. Bring up cluster: docker-compose up -d


  • URIs in the .env file MUST NOT contain quotes, as these will be parsed literally as part of the URI.
  • If you decide to store the wordlists for the cards remotely on Amazon S3, ensure that the Content-Type metadata (found under the Properties for the file in the AWS Web Console) for the file is set to text/plain; charset=utf-8, otherwise special characters in the cards may not render correctly.
You can’t perform that action at this time.