Published on Feb 1, 2022 by Arpad Ray
Repography is a micro-startup — one developer and one designer working on this alongside all our normal work, with no funding to support other roles. Therefore the tech stack is oriented towards low maintenance and easy scaling.
We make heavy use of the Google Cloud Platform with the addition of a couple of great services:
There are two services running on App Engine:
If you choose the command line option rather than installing the GitHub app then you'll be using a completely separate program written in Rust, to analyse your local commit history and upload to our API. I chose Rust in this case for performance and the ease of building static binaries for multiple platforms (thanks GitHub actions!).
The service which actually renders the dashboards and posters is a Cloud Function written in Javascript. The designs are implemented as Javascript functions which receive the repo analysis and output an SVG. This has made it simple to develop the designs, since the same code can be run in a local test rig and then deployed to production.
To turn an SVG into a PNG ready for download or print, we have a final service running on Cloud Run. This allows us to go beyond the limitations of Cloud Functions (e.g. custom Docker container, more system resources) but on a similar cost basis.
One click, no signup required