Things related to software development, security, marketing, e-commerce.

Why have I built ecommerce store on my own from scratch instead of choosing Shopify, WooCommerce, BigCommerce?

published: 30 Mar 2019

Previously I’ve already created an ecommerce store from scratch. Being functional, it, however, had limitations:

  • the UI was built upon Zurb Foundation UI framework, Zurb Foundation itself is dependent on jQuery. And the fact that it’s a framework is also drawback.

  • it lacked functionality for variants of a product.

  • it lacked functionality for resizing images, they were of one size. This slowed down the load time of the pages.

  • there was no admin panel. For the beginning stage and for the single admin user who was also a developer, that is, myself, this wasn’t an issue, but inconvenience. On the other hand, editing data in the database each time turned out to be more than merely inconvenient.

The new shop – – doesn’t have all of these. For the UI I use no framework such as Twitter Bootstrap, and no library. It’s in pure HTML and CSS. Neither do I use any library or framework for javascript related stuff, it’s pure javascript as well.

shopping cart of my e-commerce shop

The admin panel lives at “/admin” and is protected by password by nginx. This location is temporaly. When I replicate this shop and create others re-using the source code, I’ll create a shared admin dashboard for all of them and move it to separate domain. I’ve done this with my blogs: I have one admin dashboard written in Golang for all of my blogs and it lives on separate domain.

Images I upload via the admin dashboard get resized to different sizes in the background. This allows to speed up the load time of the pages by choosing an appropriate size of an image of a product for a particular page. For instance, in the shopping cart the images of size “small” are shown. An image of size “small” in my application is an image of around 200x150 pixels. won’t be a single e-commerce store. Re-using the code I’ve already written, I’m now able to clone this shop to create others: copy-paste, change the name of the domain in the config file, change minute or not only minute details, change some css styles, deploy and it’s ready to go.

It should be noted that this isn’t the final full-fledged version, but an MVP. Namely, sometimes some things may not work, there may be glitches.

Why not Shopify, WooCommerce, BigCommerce?

  • These plathorms have technical limitations. For instance, Shopfy has the limitation of 3 variants per product. More than 3 variants can’t be created. I’ve heard on app that allows you to bypass this limitation by utilizing custom fields in Shopify. It’s been a while since I read it and I didn’t gid deep into this. Notheless, the standard limitation of Shopify is as such. In my service I aslo have the limitation of 3 variants per product. However, there’re differences. First, I’ve implemented it this way on purpose - for the sake of simplicity, to finish MVP faster. Second, I can refine it anytime, and it’ll support more than 3 variants per product. Whereas with Shopify you can’t ask the management of Shopify “I want more variants per products, implement them”. You’re not in control.

  • In addition, they have rules. One of them is what products you may and may not sell.

  • They charge you a monthly fee, or a commision per sale, or both.

  • Some of your data is visible to a plathorm and public. Let’s take Shopify. One can go to, enter “” and find “all websites on this IP”. Now one can see Shopify stores. And their rank. The rank implies how many sales they make. The more sales, the more lucrative the niche is. Thus one can try to enter it creating more competition and making once lucrative niche less so.

shopify spying

There’re thousands of Shopify stores visible to everyone

shopify spying

shopify spying

  • Does Shopify and do the others support receiving payments in cryptocurrency? Yes. For instance, in Shopify it’s done via a middle man – a cryptocurrency payment provider. Either that cryptocurrency payment provider, or Shopify, still will charge you a commision per transaction. Plus you’ll need to verify yourself in their system before using it, and generally play by their rules.

  • But does Shopify and others support cryptocurrency payments if you run your own node on a server, on your own that is? Namely, you can run a Bitcoin or other type of cryptocurrency node on your server, whether it be a VPS or a server in your house, and thus you’ll be able to receive payments without depending on a middle man whatsoever. The abovementioned plathorms don’t support this.

Do I imply that my store is superior to Shopify, WooCommerce, BigCommerce or Magento? Yes and no. In some sense it already, as an MVP, is. And no because of the same reason: since it’s an MVP it lacks functionality. Some of functionality, however, is merely conveniences. In particular, my admin dashboard isn’t that powerful as the one of Shopify. Nonetheless, I have access to my database and I can manually create, delete and update data, if needed.

Also, functionality of the admin dashboard lacks metrics such as “how many users are there online now”. Besides, it’s a shop with the admin panel, not a plathorm.

Plus, design can be refined.

Will I then be willing to do development work related to Shopify, WooCommerce, Magento, BigCommerce and create applications for their marketplaces? Yes, because this is a different matter.

Subscribe to Newsletters

Be up to date with new material and freebies