I wish I knew this when I start my journey to become a software developer. What is the end product of software engineering? It is not lines of code that you can run on your local machine and makes yourself proud. (I agree that feels good too, at first). But eventually, we want to solve some problems, to create value and make the world a better place to live. Programming languages started to appear in the early 1950s and this was also another major step in abstraction. Major languages such as Fortran, ALGOL, and COBOL were released in the late 1950s respectively to deal with scientific, algorithmic, and business problems source: https://en.wikipedia.org/wiki/Software_engineering From this perspective, even the coolest and smartest software product has no value if you can not bring it online and make it generally available. Plus, especially for me, it is hard to find something more motivational and inspiring than sharing your first (or next) deployed product with friends and family For this reason, I strongly believe that the basics of deploying skills should be among the top priorities for aspiring software engineers. And there is no excuse for that, especially these days when there are so many free and easy to use options. In this article, I'd like to demonstrate a few simple ways to deploy your web app and share my own favorite deployment tools Surge website: https://surge.sh/ free services: unlimited publishing, custom domain, basic ssl deploy instruction: npm install --global surge surge Firebase Hosting website: https://firebase.google.com/products/hosting/ free services: custom domain & SSL, multiple sites per project deploy instruction: npm install --global firebase-tools firebase init firebase deploy Netlify website: https://www.netlify.com/ free services: custom domains & HTTPS, instant Git integration, continuous deployment deploy instruction: npm install --global netlify-cli netlify init netlify deploy Happy coding & deploying!