Authenticate is a free TOTP two-factor authentication app, built with React Native. It includes cryptographic implementations from scratch for both SHA-1, HMAC-SHA-1, HOTP and TOTP. It was built for a college project, so you can read more about it on Overleaf.