In my previous post, I discussed 3 options for selected which route to go when starting your e-commerce start-up. Though those were general outlines, they covered a lot of ground and should be a good start for helping you decide. In Part 2 I will be covering Option C in depth, and more closely. That was the option of building your own platform. Though this article won’t dive into any coding or development stacks, it will approach the topics of APIs, the front & back-ends, and trying to make it all tie together, in addition to things you’ll need to consider for your custom platform build.
Rule #2, Get to the market and fast!
Building a perfect platform is impossible. Building something amazing within a reasonable amount of time is unlikely, and building something that will lead you to success the first time is rare. I’m a massive fan of getting ‘to the market’, or rather, getting it out there and used, than sitting around and polishing all of the things. Get your platform to a stable point, mostly bug free, and secure, then launch it. Tweak it afterwards and once you get a feel for how things are going.
So you’ve decided to go with Option C
You’re brave, resourceful, very strong willed and have the developmental chops to make it happen (or a small team / someone who can build things). Let’s assume you or your developer are approaching an e-commerce platform for the first time, where do you start? Well, you start by choosing a technology to build your platform on top of: PHP, Python, Java, C#, ASP, whatever it may be (I don’t care, and this article is agnostic of any technology stacks). With your technology decided, let’s consider some aspects of the platform
- The Back-end
- The Front-end
- 3rd Party APIs
Let’s start with the easier and obvious stuff, the front-end. How your website looks, feels, and reacts to users is VERY important. The ability for your website to handle poor user actions, holding the user’s hand when any level of complexity might exist, and elimination confusion is one part to success (remember, nothing guarantees success).
Out of Stock items: If an item is out of stock, and the customer adds said item, what happens? Nothing, a popup, maybe let the user proceed to checkout only to tell them that they can’t place their order? The smart thing is to let the customer know early, and prevent them from adding the out of stock item to their cart (replacing the ‘add to cart’ button with a friendly message).
Delays in shipping: Your shipping provider is backed up, or you are having trouble meeting the demands of all your orders. It’s a good time to let your customers know that their order will be delayed. Do this early as well, not in some follow up email or after they’ve checked out.
Mobile / Desktop design: Your mobile website should be the same as your desktop website, but responsive. The same content that exists on one, should exist on both. This includes options, features, text and images.
One product, multiple options: If you’re selling t-shirts, or different sized objects, you’re going to allow the user to select between variations in most cases. There are way too many ways of approaching this problem, but whatever you go with, make sure to preview the selection clearly to the customer. Double confirmation of their variation will help cut down on returns and aggravation.
It’s never a bad idea to visit the sites of your competitors and put together a list of nice features and functionality for your own platform. Pay attention to how they handle certain situations (like the above), and don’t be afraid to draw influence from them.
We’re going to consider the reports, tools, and management side of things the ‘back-end’. Every decent e-commerce software out there will offer some form of back-end, a place to log in, view orders, view some basic reports, and potentially other things. The most important thing for you, since you’ve decided to build your own platform, is to figure out what tools you’re going to want to have a part from the standard tools you’d expect. By the way, at a minimum, you’re going to want to include these:
Orders: A way to view all orders, the customer data for the order, any relevant payment information for the order, and ways to cancel the order should you need to.
Shipping: A page that displays all of your shipping transactions. What packages need to be shipped, what packages are shipped, and the tracking status of the packages.
Product Management: In short, you’ll need a place to add, edit, and remove products, their variations (if any), and the details related to the products (images, description, pricing).
That’s the absolute minimal setup you’ll need, and those aren’t always easy or obvious. Some additional things you’ll want to consider, which aren’t required, but will help make life easier for you:
Reporting tools: you’ll want to generate costs, reports, totals, transactions and all types of data that any store should be tracking.
Coupon / Discount System: there will likely come a time when you want to offer discounts. Being able to add coupons, their discount, their limit (uses), and validation of the coupon codes will need to be considered.
Refund System: you could leave this up to your payment processor, but it’s nice to have a way for customers to communicate with you directly on refunds. This way, you can easily tie it into your reporting tools, process the refund yourself (on the payment processor website), and potentially offer resolutions that will help satisfy your customer.
Payments & Shipping
Now that you’re thinking of what to include for your front-end and back-end sides of the platform, it’s time to help make your life a little bit easier.
You do NOT want to process payments yourself, trust me. Not only is PCI compliance super expensive, complex, and hard to get right, it’s just not worth it for your start-up. You’re going to want to utilize a 3rd party for your all of your debit and credit card transactions:
- Stripe: https://stripe.com/ (my #1)
- PayPal: https://www.paypal.com/us/webapps/mpp/accept-payments-online
- WePay: https://go.wepay.com/
- Venmo: https://venmo.com/business
There are a lot more out there, but these are the ones you’ll most likely here about. Their integration documents are well done, and their support levels are usually top notch. Each have their own fees and feature list, but will cover a lot of ground for you.
Shipping and logistics are a tough part of e-commerce, and getting it right will not only save you money, but will help you grow when the time comes. Processing labels by hand is a thing of the past thanks to some potential options:
- Shippo: https://goshippo.com/
- easypost: https://www.easypost.com/
- USPS, UPS, FedEx, DHL all offer their own APIs as well.
Again, there are other options, but the top two are known for their documentation and support. Both Shippo and easypost tie in multiple shipping vendors for you so that you don’t have to integrate individual APIs on your own. A HUGE time saver.