AWS Startups Blog
Moltin: Streamlining ECommerce Development
Adam Sturrock is the co-founder of Moltin, a cloud-based eCommerce solution that allows rapid integration of eCommerce functionality — such as inventory, shopping carts, and checkout — into any website or application through simple and powerful APIs. In this blog post, Adam tells us how Moltin came about and why they chose AWS.
A little history
Over three years ago, our team was working in UK-based development agencies where we built numerous sites by using downloadable, self-hosted eCommerce platforms. Each day we experienced firsthand the systemic flaws of these platforms: bloated code bases, fragmented versions, limited extensibility, and time-consuming, expensive maintenance cycles.
Over the past decade, there has been little advancement in how eCommerce platforms are built. Cloud-based solutions like Shopify have emerged to aid store owners and designers, but solutions for developers are still limited. Marketplaces offer some third-party packages for older eCommerce platforms, but the quality is inconsistent and the cost often is high.
The first attempt
After years of battling with these frustrations, in July, 2012 we decided to take control and tackle the issues head on. We began work on an open-source eCommerce platform for our favorite CMS at that time. Over a few short months, the platform achieved over 5,000 installations and translations into 12 languages, which we regarded as a great success.
Unfortunately, as time progressed and as we added additional features, the platform began to suffer from some of the same issues that we had set out to fix in the first place (bloated code bases, loss of flexibility, and increased maintenance issues). We learned the hard way that these problems were inherent with downloadable, self-hosted platforms.
We knew there had to be a better way.
Toward a universal eCommerce solution
We began to map out the framework for a better platform solution. We decided to separate the backend logic from the front end to remove our maintenance woes and give us maximum flexibility. We also thought it would be exciting to enable lightweight, feature-rich eCommerce sites that could be powered only with JavaScript.
We loved how Stripe had created a developer-friendly payment gateway that far surpassed the ease of use compared to the other incumbents in the space. We wanted to replicate that across the entire eCommerce stack. The ability to add modular eCommerce functionality, storage, and logic in minutes to any project would speed up development time and reduce costs. It would even allow our users to weave custom functionality into and between API calls.
We arrived at a hybrid approach, taking the best from SaaS platforms like Shopify and a downloaded platform like Magento.
Our API-based approach was born, allowing developers to work in any programming language and create any front end, whether that be a website, mobile application, point-of-sale, or back office interface.
The right foot forward
To put our approach into action, we applied to a local accelerator program in Newcastle, England. This gave us the funding we needed to get started on our idea without distraction, striving towards a future where developing for eCommerce is simple and fun.
We made key infrastructure decisions before we wrote our first line of Moltin code. We decided to build on top of the AWS ecosystem, as this would specifically help us address several key problems that we would have with a SaaS solution that would need to scale.
Taking our industry experience and the knowledge we had gained from our first attempt to build an eCommerce platform, we identified the core features: inventory, shopping carts, checkout, and orders. During the accelerator program, we built these out and launched a relatively small and quiet open beta.
During the beta, we knew we shouldn’t rush to add a lot of features to try to cater to all users. Building a large application that tries to cater to everyone leads to a bloated code base, as is the case with many other eCommerce platforms. Our focus was on flexibility and modularity to ensure a scalable, robust system and continuous development going forward. Although we are proficient with managing databases and servers, we wanted to focus on building our application and API layer so we could provide developers with a tool they would really love to work with.
Scaling quickly, from handling thousands of API calls a month to millions
Our platform was global from day one of the beta, with our first stores built by users in a matter of hours and launched in the EU, Oceania, and North America.
One of the most important parts of our system is speed: page speed is critical, with every millisecond affecting a store’s conversion rates. AWS gave us the flexibility to spin up application servers and databases in specific regions to support users across the globe while keeping latency to a minimum.
Amazon Route 53 was also a boon for us. By using the latency-based DNS rules, we were able to direct each store to its nearest node in our system without having to think about it. Route 53 was actually one of the quickest services to set up in our infrastructure, and one that continues to be one of the greatest resources in our arsenal. Without it, we’d have some massive headaches to solve.
Database management has always been a full-time job in the past, but AWS has the widest support of database architecture out there. The AWS Postgres offering is one of the best in the world. We would spend ten times longer dealing with our databases if it weren’t for Postgres on Amazon Relational Database Service (RDS), and with the new updates we even have the flexibility to write our own replication system on top of the solid infrastructure that AWS provides.
We use many other services of AWS, including DynamoDB, ElastiCache, CloudWatch, Auto Scaling, S3, and more. We’ve made significant investments in the AWS ecosystem, but we don’t feel locked in. Our data is ours. AWS gave us the ability to get up and running quickly, and as we’ve grown we’ve retained the flexibility to control every aspect of our infrastructure if we need to.
The AWS ecosystem is so much more mature than its competitors. The quality of the administration controls and the API (which we use heavily) outweighs what others have created so far. Scaling quickly, from handling thousands of API calls a month to millions, has been easy with AWS.
Coming full circle
We launched our JavaScript SDK six months after development began. We were surprised by just how fast our users were able to build custom stores with this. Users signed up, integrated our solution in a few hours, and launched stores in days, proving what we set out to achieve. The development of eCommerce solutions is now faster, cheaper, and more flexible than ever before.
Y Combinator
We decided to apply to Y Combinator, the original and largest startup accelerator. This would help us to scale out faster and bring our solution to the world. The application process is renowned for the low acceptance rate yet we were determined in our resolve, knowing that whatever the result of the interview we would continue to work on Moltin no matter what. This belief gave us a strong foundation, enabling us to handle the rigorous interview process. This mindset appears to have worked in our favor, because we were accepted into the Y Combinator Winter 2015 batch of companies.
The Y Combinator experience was crucial in allowing us to expand our US market, which has been highly receptive to what we have achieved so far. In addition, our participation in the program helped us hone our vision, enabling us to explain clearly what our product is and the many benefits that our API-based approach offers. It was great to get a chance to work with the amazing partners who run the program, get advice from industry leading mentors, talk with fantastic investors, and work with other teams in our batch.
The future
Thanks to our solid core system, we’re able to roll out more advanced features, without fear of bloat or inflexibility. We’re finally breaking down the barriers between eCommerce developer communities, and we’re bringing eCommerce functionality to people who have never had that capability before. We believe that Moltin is the ideal solution to fix a fragmented eCommerce mobile app development.
This is just the beginning. The Moltin community is growing at a phenomenal pace, and we will continue to break down barriers and level the playing field for eCommerce developers and stores everywhere.