Ideally this project would have been written in Crystal, but the dependencies required for this are not yet available: