You are using an old oTree version Your otree package is out-of-date (version 2.1.39; latest is 2.2.4). You should upgrade with: "pip3 install --U otree" and update your requirements_base.txt.
You are using a proper database (Postgres, MySQL, etc).
DEBUG mode is off
You are using a server other than runserver.
Sentry not configured Sentry can send you the details of each server error by email. This is necessary because once you have turned off DEBUG mode, you will no longer see Django’s yellow error pages; you or your users will just see generic "500 server error" pages. oTree offers a free Sentry service; you can find the sign-up link in the oTree documentation.
No password protection To prevent unauthorized server access, you should set the environment variable OTREE_AUTH_LEVEL.
Your database appears to be synced.
No worker process found

The worker process enables the following functionality:

  • Browser bots
  • If your study has timeouts on pages (with timeout_seconds), then the timeoutworker will automatically advance a user when they exceed the timeout, even if they close their browser.

In your app dashboard, make sure the second dyno is turned on.