Case Study:We Built An Online Marketplace From Scratch
Back in 2014, three entrepreneurs from Copenhagen teamed up to explore what they saw as a major opportunity: the growing willingness of Danes to evolve out of the industrial food paradigm. Farmers markets were popping up everywhere. The 2007 market crash had left a void in its wake that was quickly filled by budding entrepreneurs, who chose to reinvent themselves as food and drinks craftspeople. And, seeing that the country's attitude was one of support, they founded Madmarkedet (The Food Market). Since one of them had worked with Julio in the past, they reached out to him for help.
In a nutshell, Madmarkedet’s vision was an Etsy-style marketplace for food and drinks. This was a fun project to be involved in, with no shortage of interesting challenges. We will present a few highlights below.
Tight Budgets
Madmarkedet didn't initially seek funding so the budget was tight, and we had to take that into consideration. We first considered using out-of-the-box solutions like Magento and Spreecommerce, but ultimately ended up building everything from scratch, since:
- we had extensive experience with full-stack development with Ruby on Rails and JavaScript;
- Madmarkedet's business logic was too particular, which made us worry about the adaptability and flexibility of existing solutions;
- we were offered a part-equity deal which would presumably keep us engaged for a while, so there were less concerns about code rot or long-term maintenance.
Distinct Audiences
After research confirmed their gut feeling, the Madmarkedet team decided that the platform should be able to cater differently to very distinct audiences.
Indie merchants
This was where the team's heart was at. Their vision for Madmarkedet was a platform to help Indie Merchants (their term of endearment for small producers, craftspeople, and other delicious entrepreneurs) be exposed to an increasingly eager consumer base. At the same time, the platform would help with cutting all the traditional middlemen while still allowing the merchants to compete with the big fish. We enabled this by making it easy for the merchants to list their wares and customize their profile pages in the way that best suited their ethos.
Wholesalers
Early on, Madmarkedet teamed up with Tasting Denmark, a sourcing specialist for Danish delicacies. We developed a CMS to allow them and other wholesalers to manage multiple accounts for the producers under their wing. It enabled them to set up and customize individual pages for each product and producer, tweaking the message to their target audience.
B2B
Madmarkedet wanted to be able to support existing commercial relationships, which traditionally work differently from consumer sales. Ideally, they’d like to offer a whitelabel version of the platform to B2B clients. We didn't want to fragment the codebase, so we decided instead to adopt a multitenancy model, allowing the same platform to look, feel, and behave differently for each client. This way, the platform could be served under b2b.super-awesome-wholesaler.com with different styles and branding, separate product listings and different user accounts. It could also support different ordering flows, since businesses usually don't settle their online accounts with a credit card.
The backoffice we developed enabled our B2B clients to easily migrate their current customer data into our platform. For those who were still taking and tracking orders on good old pen and paper, this provided an immense relief.
Payment and fulfillment integration
The team wanted to upend the sales and delivery process by making it as easy as possible for both producers and customers. Stripe had just launched in beta in Denmark and we decided to take advantage of their developer-friendly APIs and gorgeous user interface.
In order to facilitate the process of shipping the goods to the consumer, Madmarkedet worked a deal with the Post of Denmark and we integrated with their APIs to automate the printing of labels, handle the parcels from pickup to delivery, and track order statuses.
Automation and scalability
As we built the platform, we took care to ensure that it would run with as little intervention as possible. Optimizing operations was one of the reasons behind pushing for the API integrations mentioned above.
Today, Madmarkedet runs mostly unassisted. Fulfilling an order requires no intervention, and neither do content updates, as they are done by the merchants or wholesalers themselves. Furthermore, we built a tool to import data feeds for our B2B clients, so that their listings on the website would be automatically updated in bulk.