https://parkerklein.medium.com/how-i-learned-how-to-build-apps-in-6-steps-and-you-can-twos-60f73b9875cb