Technology used
The website is developed in Python using the Flask microframework, with Zappa being used to host on AWS Lambda. This allows it to scale up and down and consume as few resources as possible for cost and environmental reasons.
Data is generated in a local pipeline and is queried as static JSON objects stored within the Lambda function . This again requires no constantly running database instance and is a good fit for "Write infrequently, read often" applications. Structures are served out of AWS S3 via another Lambda function. The data for each release is available as Open Data from GitHub.
The search is powered by Algolia, with data being posted to Algolia as the last step of the import/cleanup pipeline.
Analtics are provided by Plausible a "simple, lightweight, open source and privacy-first Google Analytics alternative". Custom analytics events are used for empty searches and page not found errors to help in product management.
Stein is used to integrate some elements of the site with Google Sheets.
Molecules are visualised using 3DMol.js (interactive views) and PyMol (static images).
The UI framework is a development of the Catalyst design system designed by Guy Moorhouse.
This work is licensed under a Creative Commons Attribution 4.0 International License.