I think for small stores shopify or woocommerce / wordpress / ebay / etsy / amazon or whatever works just fine. Especially if you need to validate your store as well. You can get a store up in a few hours if you are dealing with a few hundred SKUs. You can add all the data there manually through the CMS or with an excel / FTP import. For many places, this is good enough. For larger stores, I consider the following approach<p>- Develop agnostically. This means don't build with any stack of tools in mind. I have a prepros-sass-pug-typescript template here [link redacted] specifically for generating an ecommerce frontend multipage mockup. Every ecommerce site is going to be built in HTML/CSS/JS regardless of what backend languages or frameworks you decide (PHP, python, etc). All you really need is a home page, category grid, product grid, product page, and checkout page. Throw in dummy data here, and then use whatever backend system and/or framework afterwards.<p>- Doing any backend development is just reinventing the wheel. Ecommerce is tried and tested already. Things like how to handle an abandoned shopping cart, security, etc. You shouldn't be doing these things honestly. Let someone else do this, or use a library if you have too. You'll need to evaluate backend / ecommerce framework depending on your requirements though.<p>- Frontend, data, and your product / marketing are the most important things for an ecommerce site. Your customer is not going to care about your backend. Chances are you might migrate your ecommerce backend down the road anyhow.<p>In summary, if you want to start from scratch, and want full control/portability, consider building your own frontend mockup for each unique page type (category landing, product landing, etc). Expedite this process by using a CSS framework like Bootstrap. Learn how to organize CSS code with Sass. Worry about backend later. You should have an idea of what content / data is going to appear on the frontend, and where it all ties in.<p>If you need to dial back even further for a truly agnostic approach, consider UX design only. This will also shorten the gap in explaining to your developer, should you outsource to one, what the final site should look like and do.<p>If none of the above matters, just use shopify or and throw your pictures + content and a template, call it a day.<p>Backend I personally have seen many successful custom enterprise level stores using Laravel+PHP+MySQL+Some-Javascript-libraries (image LazyLoading)+PHP-libraries(shopping cart functions). You can analyze what tools a store is using through wappylzer. Some tools for doing a simplistic hosted backend include 3dcart and snipcart if you want to forego backend all together.<p>Finally, what ecommerce framework you use also depends on what your selling. If your selling high markup goods, such as T-shirts and stitching work, 2.9% cut from shopify is going to be irrelevant. If you sell industrial equipment, 2.9% is like half your profit margins.