Ask HN: What is your favorite way of setting up online store in 2018?

245 points by pyeu ↗ HN
I am learning Python and Web Development. I want to set up an online store for my friend who does stitching work. She needs a site where she can display her designs and take orders for stitching.

As I am learning Python, I am planning to use framework : Sale or - http://getsaleor.com/ or Oscar http://oscarcommerce.com/.

For payment, I may use PayPal or Stripe.

Budget for building online store is very low. I want to full control over it and independent?

What services and technologies do you use when you'd like to quickly build a small online store?

161 comments

[ 2.9 ms ] story [ 284 ms ] thread
Shopify or Etsy to MVP until there's traction. Don't prematurely optimize by thinking you need to use Django or write the shop yourself in the beginning.

> Budget for building online store is very low. I want to full control over it and independent?

Don't do this. Your time is worth something. Just keep an eye as things develop as to how you're going to get the data out of your prototype into a bespoke system, eventually.

Source: I've helped ~5 people setup online shops this way, including quilting and artisanal yarn shops. Total time to setup was 2-3 hours per store with a screen share while on the phone with the person.

EDIT: OP: To your point about learning Python; find small consulting projects that are just beyond your skill level, and take those on. Iterate along that path. This is not the path to your Python Enlightenment. I understand it's difficult to learn a programming language when you don't have a real problem to solve, I face the same problem myself.

This is great advice. Anyone can setup a self-hosted ecommerce shop however, maintaining that software year 2, 3, 4 & 5 can and will be a giant pain for your average small biz.

Source: I've helped ~50 small business owners setup ecommerce shops in my career.

(comment deleted)
Good suggestion, but he said budget is very low, so is there a free solution out there?
I use wordpress + woocommerce(amazon pay)

I dont think this entire setup costs 200 dollars.

Would not recommend anything Wordpress-based. That thing is a security and maintenance nightmare.
I'm currently the maintainer of a Woocommerce site. My client paid for a massive rewrite of the thing and despite me damn-near getting on my knees begging him to use Shopify, he stuck with WooCommerce.

It is truly terrible. I cannot recommend enough to anyone to keep as far away from it as possible.

Can you cite anything?
Ex PHP developer here. The codebase is an absolute nightmare and doesn’t conform to any best practices (it’s not even MVC but a weird mess of .php files, there is no HTTP routing, it’s all very legacy PHP).
OKay, but why does this matter for security and maintenance?

I just developed a blog using laravel, and while I see the difference in complexity, I dont see how security/maintenance is affected.

There is a consistent history of huge vulnerabilities in Wordpress, which is explained by the aforementioned code quality.

For maintenance, well if something breaks (especially plugins, etc), it’s much easier to fix it when the code is clean (like a proper Laravel-based project) than the mess that WP is.

Finally performance isn’t that good again compared to a bespoke Laravel app or a more modern platform (for blogging, Ghost comes to mind).

Shopify comes with a free trial. After that the monthly is very low.
bigcartel (free for a few products, just fees) and if they start doing any amount of decent business, they can switch to shopify.
Odd choice for a product store... Is it for illegal products??
Etsy is 20 cents per listing plus the CC transaction fee. I've seen a lot of shop owners get around this by offering incredibly customizable products. They have a text box for "Customer Comments" where you describe what you want.

I actually bought the exact thing OP is trying to sell on Etsy using the method I just described. The seller had uploaded a lot of examples of different types of work they could create so I had an idea of what they could do before I purchased.

100% this. I'd actually encourage your friend to start with an Etsy store and consider adding a shopify based store later if she gets some traction.

If you'd like to help her and learn python while doing it then there's a lot you could do around analytics, market (keyword) research and marketing.

Can you recommend any resources for doing market research or analytics for small online shops?
Also wanted to drop a note that I've been building https://www.trunkinventory.com the past 6 months to help sync inventory between Etsy & Shopify stores (Amazon and eBay coming soon!). It's currently in early-access with lots of businesses using it successfully. Just trying to make it easier to manage all your sales channels from one place!
Totally agree with this, and like another commenter said, WordPress can be a nightmare. If you need Woocommerce because your site is already built on WordPress and you can absolutely keep WP secure [1], then go for it.

As much as developers love to hate on done-for-you website builders like Shopify or Squarespace [2] they are a good first step to get to MVP.

[1] https://sucuri.net/guides/wordpress-security https://premmerce.com/complete-woocommerce-security-review-i... [2] https://www.whatsthehost.com/shopify-vs-squarespace/

Hello,

I run a community of freelance programmers. I frequently get requests for simple, first store setup from nontechnical customers. I would be interested in finding someone who could supply that for a flat fee, which we would then mark up 100%. Obviously, we spend a large portion of our revenues on our marketing budget, driving nontechnical customers to submit inquiries, but we're responsible for all those expenses. You would be entirely welcome to work directly with the customer for ongoing work as long as you joined our community with a $25 monthly membership.

Excellent advice, and if you find some things you need that the store you choose doesn't support, most of them have APIs, and writing some small tools that use those APIs is a great playpen for learning to code.
It's 2018. There's almost zero reason to build an online store yourself if all that is being sold is stitching work. This sounds like a perfect use case for Shopify/Etsy/Big Cartel or any of the many sites that do this already.
There's even marketplaces for that kind of thing like craftsy.
This. I work primarily with very small business owners. Early in my career I was all about open source and rolling your own. Lessons learned over the years (maintenance, compliance, shifting standards) and I now almost exclusively recommend using a third party provider.
I dont use these sites, do you get user emails for follow up promotion?
Definitely with Shopify. I have bought stuff from companies built on Shopify many times and I get all the normal promotional stuff you'd expect.
Check out https://www.starterstory.com/. There' a list of tools that these e-commerce companies use.
Hey! Founder of Starter Story here!

Check out the tools page - https://www.starterstory.com/tools and you can see some of the more popular tools and who is using them.

edit: And anecdotally, I've interviewed a few companies doing $100k/mo and loving Shopify and WooCommerce. I think those are great places to start.

What is more important for you - learning experience or getting your friend up and running fast? If it's the first - go with the frameworks you have listed but expect it will take longer than you thought before you can give her anything to work with. Like 10x longer. If it's the second - shopify or other mentioned in other comments.
Unless your product is an online store, don't code an online store.
I don't really understand this sentiment which seems to be widely shared here. Stripe handles all the PCI stuff. What's wrong with coding up a basic store?
Exactly. PayPal is the same way: if you outsource your payment processing to one of these, then you don't have to worry about the PCI stuff. If you're intent on having a "uniform checkout experience", then it's much more difficult of course, but if you don't mind redirecting customers to PayPal to do the payment, then making your own basic store can save you a ton of money in fees.
how do you do inventory management? variants? promotions? etc etc etc
OP's friend needs a store quickly, and probably wants a stable, feature-rich, ready to use store. OP most likely does not want to get blind-sided discovering that the plethora of currently existing solutions have upwards of well over $1 million dollars of labor-hours (features, QA, documentation) put into them. Magento might even have over $1 billion in labor-hours. Rolling your own out of simple ignorance regarding what exists is already rather dumb, but the surprise finding out that making anything worth using is a full-time job will be soul crushing, depressing, and may even damage OP's relationship.

Writing an ecommerce CMS because you are educated on what exists and want to innovate is a completely different matter.

You also need to take care of:

    Catalog/pricing/inventory management
    Category/multiple product display/design
    Search
    Single product page display/design
    Shipping options
    Checkout, aside from payment (partial flow, or completely externally hosted?)
    Order management (how to get orders out of the system and into a warehouse to be packed)
    Promotions and discounts (will you have coupons?)
    Customer feedback/product reviews
    Contact me/us
And that's just the tip of the iceberg.

Source: I work for an ecommerce consultant (I use/live in Salesforce Commerce Cloud/formerly Demandware)

Agree with the other posts here. Don’t write your own store.

Shopify/Squarespace/Sellfy etc. are much cheaper and lower risk, at least to start with. From experience PCI compliance and tax rules are pains you do not want to deal with.

I’d only ever recommend custom coding if you have some extremely specific requirements. Even WooCommerce on Wordpress would be a better starting point.

If you want to tinker, you could build a store using a static site generator like Jekyll combined with a Google Docs spreadsheet to manage the inventory and something like Snipcart [0] for e-commerce functionality (I’m working on a site that does this).

[0] https://snipcart.com

Wow. I’ve been down a rabbit hole with cart building and DB design and never realized that Snipcart existed.

What other magic is out there?

+1 Snipcart looks neat. Actually I was just showing it to a teammate.
It's rarely mentioned, but if you like Snipcart, Shopify also offers a custom solution for storefronts and static websites: https://help.shopify.com/api/custom-storefronts/js-buy-sdk

You basically get all the benefits of Shopify's excellent, easy to use admin/backend area while building a custom frontend on top of it.

Don't write off saleor though. It's basically fully featured OOTB, all you really have to do is integrate payments and your own AWS setup if you don't wanna use Heroku. Probably easier than using Squarespace and def cheaper. I haven't looked into Shopify or Sellfy though.

It has taxes and configurable shipping costs by region. I was going to use Shopify or Squarespace until I found saleor. I definitely agree with using Etsy first though to gain traction before trying to get higher margins by rolling your own.

> Shopify/Squarespace/Sellfy etc. are much cheaper and lower risk, at least to start with. From experience PCI compliance and tax rules are pains you do not want to deal with.

Could you explain what you mean by this? I've always wanted to create a simple store as a side project to learn some new tech, so I'm curious what the issues are with putting that side project live.

Sure. PCI compliance is a set of rules as to how credit card data is handled on your site.

Depending on how your payment process works and how many transactions you make in a year there's a sliding scale of progressively more stringent guidelines. Using a gateway like Stripe which has a hosted payment form reduces the PCI risk but doesn't remove it entirely. And the PCI guidelines make GDPR look like a model of clarity and straightforwardness.

Last time I looked into it, there was a debate as to whether Stripe fell into PCI DSS Self Assessment Questionnaire (SAQ) A or SAQ A-EP. A is pretty simple to meet, but A-EP is not. Even Stripe seemed to hedge on this. If anyone more knowledgeable than me can weigh in, I'd appreciate it!

As for tax, depending on what you're selling you have to add the correct tax for your customer's country. For example as I understand it, the EU VAT MOSS rules mean that when selling digital downloads you have to apply the correct sales tax for every country people are buying from. You not only have to build a system for changing the tax depending on the address, but also understand the tax situation of every country you want to do business in. (Again, if I'm wrong or making it too complicated, I'd like to know).

Thankfully there are platforms like Etsy or Gumroad for selling digital downloads that do all that stuff for you. The fees may be high compared to a DIY solution, but it's worth it for a small merchant.

And there's me thinking selling online would be easy. I was planning to set something up with Stripe and Printful (drop shipping) to sell some custom tshirt designs I made as a learning experience.
I haven't used it, but you might be interested in https://craftcommerce.com
I'd recommend this as well. I've got a little bit of experience with it and it was easy to set up and integrates really nicely with Stripe. Can't recommend Craft enough as a CMS.
It's also $999 for use on a live website. It's a dark pattern that they don't expose the pricing requirement except at the bottom of the home page.

I can buy a lot of hosting on different platforms for a thousand bucks.

(comment deleted)
Shopify or something like that unless you have very specific requirements. And if you’re asking in HN you don’t have very specific requirements.
Wordpress + Woocommerce on Lightsail
This is how I would do it, step by step:

1. Read through the django documentation and try to set up a single site.

2. Realize I was reading django 1.6, and my system had v 1.8 which broke a few things

3. Get on Upwork to hire someone to do it for me

4. Get frustrated with the quality of applicants, but have hope for one person who made the interview

5. Go back to Django and decide that Rails is the right way. Struggle with RVM.

6. Hire the person on upwork, and be disappointed with the first version. Ask why they decided to use wordpress and a custom PHP widget.

7. Go back to Django and get a basic blog up and running

8. Finally pay someone a decent amount on Upwork who sets up the store in no time.

Unfortunately, there is no known shortcut.

Unfortunately, there is no known shortcut

What about just jumping to step 8 immediately?

I tried that, and it turned out I was actually at step 3.
WordPress with WooCommerce. In the end there are only a handful of subtle differences between off the shelf solutions.
This does the job for me.

Plus then you get a wordpress/php website.

Im very happy now that I understand php and was able to make a custom theme.

A Wordpress website isn’t an advantage, it’s a nightmare in terms of security and maintenance.
Perhaps less so if you use a wordpress hosting service.
Please explain.
A wordpress hosting service does one thing, maintain WP. They live and breath it. They apply important updates right away. They are more secure than my WP would be, since I don't live and breath it. And, if I'm using a WP hosting service and they get owned, no skin off my nose. I have daily backups of my WP site, so I can move to another one that is more secure, should my current hosting service prove unreliable.
Are you actually e-40?
Are you asking me if I'm E-40 the rapper? What do you think the chances of that are?
Haha, I am. I think probably pretty low. But I thought maybe. I'm a programmer who does music as well so it could be! haha
+1. It's hell.
I disagree. WP pushes security updates up often. There's a huge emphases on security with each major update as well. It's poor plugin development that opens up other security issues. Plus the damn thing powers 25% of the websites on the internet, of course it's a big target. I have seen tons of WP sites hacked, all literally all were on shared hosting or way way out of date, which turns out is the main issue here, not WP.
> It's poor plugin development that opens up other security issues.

Have you worked with WooCommerce in the past? It's scary.

Getting a woocommerce store to load in less than a second is not trivial.

There are a lot of hidden costs behind the “free, just pay hosting” of woocommerce

The comment section is ripe with "over engineering"suggestions.

If you're looking to build an online store so you can get a deeper understanding of Python: go ahead.

If you're actually looking for the most efficient way of putting up something online and start selling, you're better of hitting WooCommerce, shopify, etsy or looking at other solutions on ProductHunt.

Best :)

Most people don't understand that a webshop is like a normal shop: hard and lots of work:

  Writing good text
  Taking good pictures
  Handling sales and delivery
  Handling returns (yes people will return sometimes)
So I agree with most people here: don't roll your own shop but invest time in running your shop.
Also marketing. Running a successful online shop is 70% marketing, 30% everything else. Mucking about with technology should be a fraction of that.

As someone who loves mucking about with technology, I got the balance very wrong with my first shop – spent so long getting it working and keeping it working I had no to time to tell anyone about it.

I would suggest that you want to get that marketing number as close to 100% as possible.

Spending time on anything technology related at the start is really a distraction from the important goal of understanding products, pricing, and customers. Any time spent on technology beyond that of doing the minimum required to make selling possible is a premature optimization.

But those all sound like things that have to be done regardless of whether you code your own website or use something like etsy. So are you just arguing that coding a site takes time away from doing those things?
(comment deleted)
To the rest of the posters... __READ__ what he is writing.. He want total control and a low budget. Have any of you even tried Shopify ? It's low control and it's expensive as hell.

Ok, so i'm actually running a pretty large store on Django Oscar. But i would say that it really depends on what you are building

The only reason i choose Django oscar over something like shopify is that we sell a highly customizable product and needed total freedom to try out different ways of giving discounts and creating vouchers. If you just sell standard products then don't bother.

I will give credit to the creators of Django Oscar for building a highly customizable framework and if you know your way around Django, the overhead of using it shouldn't be too large.

The OP probably actually doesn't want total control, they just think they do for whichever reason.

As for the price, $29/mo + 2.9% for Shopify Basic isn't bad. It's basically covered (one should hope) by a couple sales per month, especially for bespoke stitching products.

(comment deleted)
So when someone says they "want total control", your response is "no you don't". Wow.

Are you a sales rep for Shopify? That $30 per month fee is bad.

No, my response was that they _probably_ don't, if they'd evaluate that viewpoint further. Especially as a software dev/engineer, it's all too easy to think that you need absolute control.

And no, now that you ask, no I'm not. I _have_ been the lead developer for at least 3 e-commerce systems though, so I know it's not trivial.

Why do you think the fee is "bad"?

Because... it's a craft e-store, never going to have a lot of revenue; $30 per month is $30 less for buying food; also Shopify take a cut of each sale, so it's a regular double whammy and that sucks. And the owner will be a creative person, and they are usually fussy/particular/perfectionists regarding visual presentation of their artwork/brand/style/look and feel. I know, I've built online stores for artists. The attention to detail requests didn't stop. Fortunately I had total control over the store right up until payment gateway, so it was fine.

Some small businesses are looking to set up shop properly more than quickly. Anyway, these are all opinions, I'm just sharing mine.

Well what would you do instead? Assuming that OP will build the site for free, the shop owner still needs to pay for hosting (assume $5 droplet at Digital Ocean), domain name (assume ~$10 from Namecheap), and a payment processor (assuming Paypal, (2.9% + 0.30) / transaction). Considering all of this is abstracted away and handled for you for $30, doesn't sound that bad. We haven't even touched on headaches from future maintenance, bugs, features, scaling, etc.
You've included "domain name" in the list of things Shopify does for $30, and you'd be wrong about that. It's an extra expense. And not only that, but the $30 plan doesn't provide "professional reports" which most businesses would want. Exporting invoice data as CSV, or to accounting software, backup of database etc. These are things I would advise a business needs.

I never said build the whole CMS/store platform from scratch. I would use something like Perch which is a CMS with shop-addon that allows you to build the site and store normally, then integrate easily into a shop. It's possible to be up and running quickly using a basic shared hosted platform as the host - which is all you need at first.

The day that "scaling" is needed is the day you ask your web host to put your mySQL e-store site on a better shared hosting plan with more RAM and more CPU... wow, what a huge effort! Or go VPS or something. Easy.

Every used mySqL? It actually works quite well believe it or not. Cheap, easy, not a headache.

We can argue all day about the details, but in the end you are advocating a microwave dinner as the solution for a small business wanting to make an impact and good impression with new customers. I am advocating something a lot better.

> That $30 per month fee is bad.

Sounds pretty cheap compared to donating $20,000 worth of weekends to your friend for a half baked ecommerce CMS. Maybe the business should exist first and prove total control is necessary before sinking a huge unpredictable labor-cost into it.

That's exaggerating things and distorting the intention. It's for his friend's craft "business", not some client who needs a copy and paste effort ready by 9am tomorrow.

Half baked CMS you say... are you predicting the outcome of an effort under your development? Some people should stick to plug and play solutions because it's their only real option.

A friend of mine set up a Woo-commerce site for her boss who ran a shoe shop. The site went up quickly, using templates and "out of the box" things from Woo. Worst store ever. Horrible UX, slow... so slow, click... wait... click... wait. They didn't sell much at all on that site. It was crap. I would not expect better from any plug and play solution, but then again my standards are high for e-commerce stores.

> are you predicting the outcome of an effort under your development?

That's an ad hominem and still leaves my point of how huge the amount of underestimated work there is. The problem is the volume of work first, the quality of work (by both OP's self-admitted juniorness and by lack of time for a full-time project) second.

Also, your standards are high for ecommerce but you don't think a lot of effort is required to do as-good or better than a specific one you didn't like?

> It's for his friend's craft "business", not some client who needs a copy and paste effort ready by 9am tomorrow.

His friend probably doesn't want to wait a week everytime he thinks of a new basic requirement built into the vast majority of ready to go ecommerce CMSs.

"basic requirement" huh, like exporting customer orders to a format ready to import into accounting software, aka "advanced report writing". Sorry, only available in the $299 per month shopify plan.

Look, if you like Shopify... go for it. Me, I would avoid that thing like the plague. I value flexible parameters and increased possibilities over a stifled e-store that pops out the vending machine slot if you remember to feed it $30 a month.

Shopify is not for developers, and not for anyone who knows a developer or willing to pay for something better than a microwave dinner experience. That's not just my opinion, it's also how it actually is.

299 sounds a lot cheaper than hiring a full time developer to build from scratch, not to mention all the free alternatives to not-invented-here.
Both you are right and not right - it all depends. "Total control" is subjective term here. One may find total control with Shopify or Amazon, but another may have an urge to implement in-house DDoS protection or have own power supply.
How does Shopify not give enough control? Anyone can write Shopify apps to extend extra features with their API or pay someone to create an app (less than paying someone for a full ecommerce site)
Not all aspects of Shopify can be customized -- especially with the checkout workflow (eg you can only set a logo for the checkout page, but not style it). Also the non-ecommerce pages are woefully lacking in content management functionality (anything more complex than a blog is impossible without using a third-party app to store custom content in meta fields).

And writing apps yourself is not always ideal because they need to run on your own server (thus mitigating the benefit of using a hosted platform to avoid infrastructure maintenance), and any frontend modifications can only be done via JavaScript (you can't modify the outputted HTML itself, so it's a lot more difficult to make robust, performant and accessible customizations to functionality).

> giving discounts and creating vouchers.

I wish to talk with you about a saas we are in beta for : quick and easy online voucher creation, all web based. https://universal-voucher.eu (CEO here) shoot an email to contact@u-v.io for demo and beta access

Have you ever tried Shopify? It's nearly full control and cheap as shit. I've started stores and sold products in the same day many times, they have 1000s of apps, and even 2 week trial that enables you to test any product before even paying a cent. Unless you can't live with credit card fees, or you're selling drugs, you should almost 100% always use Shopify. Not to mention they can be scaled to the moon cheaply too. Call shopify when you hit a decent milestone and just tell them to waive you're monthly fee. Not that it'll even matter at that point.

I know I'm being a hater, but coding the store is really terrible advice. Learning to use a tool over reinventing the tool is a step backwards.

Coding the store is NOT terrible advice when you're talking to a developer who wants "full control and independent".

It's very disappointing to see all the comments here saying "use shopify". That's what your mum would do. Are you a developer or not?

It's like saying "just use facebook, you don't need a website", or "Just eat at MacDonalds, it's much cheaper and easier".

There's no way I would recommend being tied to a monthly Shopify fee when there's much better options out there for devs to gain control, and build a faster more creative and original store.

Shopify.. Really? How unsatisfying and boring.

> Are you a developer or not?

Part of being a good developer is knowing the value of your time. The opportunity cost of coding your own online store will be much, much higher than using an off the shelf platform like Shopify.

If it's a passion project where OP wants to learn more about programming, then go for it. Commerce is a wide domain where one can learn a lot. But if this is a business, then value thy time.

Full disclosure: I work at Shopify. These views are my own, not my employer's.

And there it is. I knew Shopify employees were in this thread, it just had that vibe about it. Make no mistake, your views are indeed your employer's views when the point you're pushing is "use our product, it's your only hope".

Is there a team at Shopify tasked with "social persuasion" who monitor online discussion about e-commerce?

"Value thy time"... oh please, we can say the same about eating too. Don't bother cooking when you can buy a microwave frozen dinner.

Absolutely developers should write their own shopping cart vs use Shopify. While they’re at it, they should probably design a custom OS and a custom webserver too.

After all, these aren’t all three cases of discrete functional software with well defined patterns of use where minor customization is easy and writing from scratch takes thousands or millions of man hours.

If he wanted full control like he says he'd just setup an apache server on a linux system and build his own store front. He clearly wants some help somewhere between no control and full control and Shopify can get him 80% of the way there.
Is there a decent alternative to Shopify that is self-hosted?

That $400 a year from Shopify is not a trivial expense for a hobby store.

I have friends with small brick and mortar stores and have a hard time suggesting an off-the-shelf ecommerce solution.

Shopify would be a bad choice for my friend's carpet store where very few customers will actually order the carpet online but where customizable website functionality(mix and match carpets, reserve but not pay for carpets, etc) is of paramount importance.

Sure you can customize Shopify, but if you are going down that rabbit hole then might as well own your backend as well.

If $400 a year isn’t a trivial expense for an ecommerce store, you are probably wasting your time.

You can go with woo, which is marginally free. But it takes a week to set up vs half a day with Shopify. So, wasting 35 $100 hours to save $400 is a bad decision. Then you have maintenance costs of a few hours a month.

You could go with amazon. But to list your own product costs $39.99 a month, so $480 a year there too. (You might be able to go with $39.99 then downgrade, haven’t tried it)

eBay and Etsy might work. Craigslist for sale postings are still free.

But at the end of the day, if the store isn’t bringing it at least $400-500 a month it should probably be shuttered and move on to the next idea.

There are definitely apps to do customizable combos and reserve but don’t pay.

Customizing Shopify (or big commerce or volusion) is almost always cheaper in total cost than custom work until you have a huge base.

I wrote software for 7 years. Now run 4 Shopify stores. I used to also run two woo stores. Shoping carts are complicated and boring. Shopify gets things right you wouldn’t know you need for three years. It’s the right place to start.

I do agree that for pure ecommerce store MVP Shopify is the primary option.

I was referring to use case that's been frequent in my experience: a brick and mortar shop wants the online shop capability but does not expect many sales from it.

One case: a friend of mine is currently paying $45 a month for an ancient closed source PHP ecommerce solution and only bringing in $500 month in online sales (but regular foot traffic brings in much more).

He'd love to go to something less expensive, but Shopify wouldn't really change much.

I started setting up Prestahop for him, but realized even if I gifted him my time, the problem would be supporting it afterwards.

Another thing with Shopify, it is not like $29 a month brings you instant happiness. There is a whole Shopify ecosystem with paid plugins etc. So you will need to spend time and get comfortable with Shopify just like you'd need to with Magento, Prestashop, woocommerce etc.

Plus not owning your backend has its own set of problems.

Thus Shopify is not necessarily the best long term solution.

It seems like a good way to learn Python, but after you've learned enough you will lose interest in maintaining your friend's web store for practically no money.
Shopify. And if they start selling a lot and ship things themselves, have them look into shipping software as well (where you can buy and print postage/labels and get shipping rates for packages online)
Shipstation is probably the right shipping software to start with. It.Just.Works.
I've used Saleor before and while it was great, I was pretty familiar with Django at the time and worry it could be overwhelming as a way to learn.

I've also used Wordpress + WooCommerce so if you can find a theme you like, it's a great way to get something up in < 4 hours so you can hack away on Saleor for the next few weekends.

Don’t write your own store, since GDPR and EU VAT it's absurdly complicated to be compliant.
A friend asked me the best way to start a few months ago. I advised her to use Squarespace for a while and if her idea takes off, perhaps then look at something a little more bespoke.

She ignored me and contracted a local development company, ended up paying £1200 for a Wordpress/WooCommerce site that could have been set up for peanuts.

Good. Sometimes people need to learn hard lessons. It's kind of nice to hear that she spent way too much money in the end. Hopefully her business takes off still but I get really tired of people asking for my advice and totally ignoring it.
'She don't know what she don't know'. I bet she thought/thinks she was getting a bargain.
So some simple maths, today Shopify medium offering is £60 per month. So that's 20 months worth of subscription. Not including any payment tax.

£1200 for a 'finished' e-commerce site, with training and hosting, sounds fine to me.

I write an amazing, arcane shopping cart in common lisp and host it via CGI on IIS
Drupal or Wordpress, full control, very low budget, very low expertise needed. From a business owner's point of view, Drupal and Wordpress are amazing. But if you ask any coder, they'll tell you they're a pile of shit, so don't ask :).
As a professional WordPress developer, WordPress is a non-stop frustration to work with. But as a blogger, I couldn't be happier with it. I have full control of my content and I'm not reliant on any company for hosting, software or anything else.
Please for the love of all that is good in this world, don't use Woocommerce.

I maintain a WooCommerce site - it is a fucking nightmare. Oh, as for "saving money" by choosing Woo over Shopify, in the end you pay for plugins bringing you the same functionality already built into Shopify.

One thing Woo has over Shopify is the control of the data. Self hosted will always offer more control to the store owner in every aspect of the business.

I agree, not a good idea to choose Woo for cost savings alone though if you can get by on the services provided by Shopify.

Control over data cuts two ways. If you control it, you also have to secure it.
Out of curiosity, what is it you've found such a nightmare? I've worked on numerous woocommerce sites and have generally found the experience fine.
same. Maybe it was awful in the past, but I've had no issues with Woocommerce in the past 2 years or so. I suppose it can get messy if you are working with some poorly coded plugins, but the base WC, works pretty well.

I looked at Shopify but it looked like a huge headache to customize - seems it would be a good option if you want more of a turn key experience though.

And you pay in setup time, and in developer maintenance time.

Woo is a siren song. It has a seductive appeal: free, complete control.

But then you spend 40 hours setting it up vs 5, and 10-20 hours a month maintaining it vs 0, and 20 hours getting your pages to load fast enough. And then updating plugins. And updating plugins. And updating plugins.

in the end, most stores are better on Shopify or Big or Volusion.

You could use an ecommerce API like Motlin [0]. This should allow you to have more control over the site and offload the ecommerce logic and processing to a 3rd party until you're confident you can roll your own.

Haven't had the opportunity to use it personally but it seems like a good place to start.

  [0] https://moltin.com/
I know I'm late to the party, but moltin is far from cheap, which is a shame, as it's a very interesting approach.

As far as I'm aware, they still offer a free tier of 30k API operations per month, which apparently approximates 10k page views - which is very kind of them. However, I had to email them to get pricing information, and was informed their pricing _starts_ at $1k/month (I was actually quoted $12k/year) for 250k operations (i.e. ~80k page views). Ouch.

To make matters worse, they use to charge $49/month for 300k operations [1]. I was informed that this was very out of date information, as apparently they've got a new logo and everything since then. But still, I feel bad for anyone who got vendor-locked to them.

All in all, probably not a bad product, but definitely one to avoid for scenarios like OP's.

[1] https://www.g2crowd.com/products/moltin/pricing