Solidify API with typing

We should add typing to our API.

https://docs.python.org/3/library/typing.html

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information