Design and build a new mobile app, server backend and/or desktop software. Fix/improve an existing product, even a very old product whose code has been forgotten. Design and deploy infrastructure to support the backend. Platforms: Linux, Windows, Android, Desktop, AWS, Linode, Custom server infrastructure Languages: C, C++, Java, PHP, C#, Perl, Python, Javascript, Haskell, Rust, Elm, Kotlin, Swift Methodologies: Test Driven Development, Object Oriented Design, Functional Programming