Over the years I found myself referring to the following over and over again so I thought that it would be good to formalize it. Here it goes:

Step 1: Establish a core problem and do basic market research Create a one line answer to the question: why is this product necessary? Step 2: Make a prototype Something simple and elegant that would deliver core functionality, albeit perhaps trimmed or truncated. Note that the technology is irrelevant here unless the product is tied to a specific tech. Step 3: Get user validation Yes/no/maybe. Why? Step 4: Find a hosting solution Heroku, cloud hosting à la AWS EC2, DigitalOcean, etc. Step 5: Setup infrastructure Install updates, configure server, setup application environment, create docker images, etc. Step 6: Determine a name and buy a domain Namecheap, etc. Step 7: Branding and logo Inkscape, Logojoy, etc. Step 8: Add basic analytics Google Analytics, etc. Step 9: Deploy prototype to server and launch ProductHunt, friends, family. Step 10: Process user feedback and validation What is working and what isn't? Re-calibrate assumptions here. Step 11: Establish a release process and stabilize Semver, blog posts, notification system, end-2-end integration tests for critical paths, etc. Step 12: Add 3rd party service integrations I generally prefer doing this after launch but it might make sense to have all of this setup prior to launch or maybe even in the MVP - email via Mailchimp, payments via Stripe, etc. Step 13: Add application monitoring, resiliency and backups Pingdom, /usr/bin/wget "https://myproductisdo.pe" --timeout 30 -O - 2>/dev/null | grep -i "The funniest t-shirts" || echo "main site is down!" | /usr/bin/mailx -s "attention, main site is down" admin@myproductisdo.pe , RDS, Crashplan, etc. Step 14: Add detailed analytics Analytics are so crucial, it might make sense to go for gold right at the start. Of course, you could start adding them in slowly as you grow: Mixpanel, Baremetrics, etc. Step 15: Automate administrative tasks Basic cron jobs or an admin panel should be sufficient: error reports, test users, daily usage reports, weekly growth charts, etc. Step 16: Market it! Content marketing, ads, hustle. Step 17: Rinse Create/update roadmap and add features based on user feedback. Step 18: Repeat Goto step 16.

Bonus:

Step 17.1: Scale Scale infrastructure and application based on user growth.

Note that following these steps is no guarantee that your product will be successful but it should hopefully give you a good reference point for all the nitty-gritty that needs to be taken care of. If you made it as far as the bonus, then I'd love to hear from you. Good luck!

HackerNews submission / discussion