Swagger API Documentation

Open Assistive (Technology) - What is it?

Its a site to collate all Open source Hardware and Software projects from around the web that aim to help someone with disabilities (i.e. Assistive Technology).
The site (will be) a static site hosted by GitHub pages. Its dynamically generated by The full site can be found at

On the site a user can add a new project by adding a project from say Thingiverse, Sourceforge, Github or others. This API is then called that scrapes the site for the important meta-data and with "save" can then save the data to the GitHub repo for the front-end. Travis will then rebuild the site (or project maintainers will manually build the site daily).

Why this way? Well because we want to create a sustainable, low-cost and easy to manage system. We think this is one of the easiest - and most reliable "stacks" to do this! Its a bit of an experiment


OpenATBackend is a node server that has 2 API routes. For details see the documentation here

To run

You will need some environment variables to make this run. Notably:

  • GitHubOAuth with your GitHub Personal Access Token.
  • RecaptchaSecret with your Google details here and then apply to the env var..
  • AlgoliaAppID - from a Algolia account
  • AlgoliaAPIKey - from the same Algolia account
  • OpenATIndexName=OPENAT - the name of the Algolia index you are pushing to

and to test simply set this env var:


I recommend using direnv for this task. It makes setting env vars between projects much easier. Otherwise use a script a bit like this:


    export GitHubOAuth=<key>
    export RecaptchaSecret=<secret>
    export AlgoliaAppID=<id>
    export AlgoliaAPIKey=<key>
    export OpenATIndexName=OPENAT
    export TEST_MODE=1

e.g. in your terminal:

git clone
npm install
node server.js 

then navigate to http://localhost:5000 to access the server.

To Deploy