James Butler

Food delivery mobile application

Registered buyers — 4639
Registered shoppers — 1946
Shopping lists — 4972
Orders — 4027
iOS
Android
James App
About James Butler

James Butler is a food delivery mobile application for the Danes to have anything they want delivered from physical shops to their doorsteps within 30 minutes. It implies two applications: for buyers to make orders and for shoppers to deliver those orders.

What the original idea was

A group of investors with a company’s CEO Thomas Eriksson appealed to us to create a food delivery mobile app where busy Danes could make lists of goods without specifying a particular manufacturer or a store. The idea went back to Thomas’s childhood when his mother used to give him a shopping list just with product names and quantities.

It was in June 2019 when we started to build the James Butler app — on the eve of the pandemic and upcoming lockdown with its hot demand on the food delivery services. At that time, we hadn’t yet known how many challenges we had to overcome before the product found its niche.

You order - I get it
James Butler challenges

Our client planned to attract solid investments by presenting the ready-made James app in October 2019. So he set incredibly strict development time limits from the get-go.

We had only three months to build four mobile applications — for buyers and for shoppers on iOS and Android platforms — equipped with a complex backend part and an admin panel.

As a baseline for the project, Thomas had only a general strategic vision and a number of basic visual mockups, so we had to build on them to create a truly fully-fledged product.

James Butler development process

To meet rigorous deadlines but deliver a robust mobile app, we needed to clearly define the project scope and the sequence of feature development. We began with compiling a product roadmap and detailed user flows within the James MVP. By doing this, we could single out the critical features without which the app didn’t work.

Here, the first differences in views on the app design came to the fore.

Development process

There was a lot of stuff we offered the client to simplify, reduce, or remove to meet time frames but keep on quality. Thomas as well as the company's designer had never turned our proposals aside heartily taking part in brainstorming. Close collaboration — video calls three times a week with countless daily Slack messages — helped us smoothly develop a decent delivery app on time.

See below what app features got a shot to be built first.

James Butler for buyers

To go well with buyers, we equipped James Butler app with full functionality from order creation and placement to payment through a user-friendly and intuitive interface.

Buyers can:

easily create shopping lists by entering product names with quantities in one line

choose stores, delivery time, address, price, and payment methods

track order status, change order details, and set preferences

review history of orders and place repeat orders

contact shoppers

To persuade buyers they pay for what they order, the app also sends them receipt&price photo reports from shoppers.

My shopping list
James App

James Butler for shoppers

To make James Butler a reliable source of additional income, we’ve included all core features shoppers need from setting order capture radius and viewing order details to getting payouts.

Shoppers can:

define work area and withdrawal method

receive real-time orders and view listings with order details to opt for best

mark items found or out of stock and send receipt photo reports to buyers

monitor progress by jobs done and money earned

contact buyers

To ensure shoppers they’ll get delivery fees, the app enables them to resend payment requests to buyers if the payouts aren’t received on time.

After we agreed upon the project scope, compiled product requirement documentation, and arranged epics into sprints, the James app creation process seemed to turn into a sticky-sweet successful case study, but it didn’t.

Stripe instant payment issues

At the very beginning, we accepted Stripe as the default payment gateway. However, it was only half a month away from the launch date when we found out that Stripe didn’t support instant payments in several countries including Denmark. It meant that the James shoppers would have waited for a few days after completing order deliveries to get their fee. Neither app users, nor investors would like that.

To prevent the project from failure, we needed to generate a viable solution at an extreme speed.

Unlike

After discussing a variety of options with the product owner, we decided to appeal to a local bank with 150-year experience — the Danske Bank. They offered us to use the Single Euro Payments Area (SEPA) protocol to process instant payments. But the SEPA payments required a specific XML format for the payment files, and the conversion tool was outdated because of using the old bank certificate. Without knowing Danish, our developers were able to polish the Ruby-written solution and integrate a smoothly running instant payment system into the James app on time.

Danske Bank
File conversion service process
File conversion service process
Fast delivery

Lessons we learned

We thought: "Can Stripe arrange in-app payments? — Yes, it can. Can we integrate Stripe API into a mobile app? — Yes, we can. We've successfully done it numerous times before. Can we use Stripe for the James delivery app? — Sure! Why not?". But our successful experience played a dirty trick on us, so we didn't take into account the specialty of instant payment implementation in Denmark.

To avoid similar situations, we established a new rule: Before writing any code, our project managers double-check all system requirements to unveil any possible constraints and build effective solutions beforehand.

Before writing any code, our project managers double-check all system requirements to unveil any possible constraints and build effective solutions beforehand

My shopping list
James App
James App

James Butler tech stack

See what technologies we used to develop the James Butler food delivery app to make it operate smoothly and stably:

iOS applications were written in

SwiftUI

Android applications were written in

Kotlin

For the backend of the app, we used

Ruby
PostgreSQL
Firebase

The payment system is processed via

SEPA
protocol
Stripe API

For push notifications, we used

APNs
Firebase cloud
messaging

For real-time updates and for background tasks, we used

WebSockets
Sidekiq
One application for buyers & One application for shoppers

What catalyzed the James app development?

Despite incredibly short time boundaries and some difficulties with payment gateway integration, we developed four applications on time with the required quality. We were able to perfectly fit our clients’ expectations largely due to strong communication, trust, and engagement of all stakeholders — from the product owner and the UI/UX designer to the Danish bank managers to the Mind Studios developers.

James Butler funding

One of the crucial indicators of a well-thought-out software product is when it attracts investments. In the case of the James Butler app, it not only successfully raised funds but prompted a famous Danish singer Medina to join the board of its directors.

Now, Medina coordinates the James delivery app marketing campaigns. For example, you can see a big advertising board with the James app logo settled on one of the buildings in the center of Copenhagen.

Medina
James Butler rocks the city! 🤘🏼

James Butler iterations

After the soft launch, we began to monitor the other crucial indicator of the James app viability — user satisfaction. Besides receiving thousands of users and hundreds of testimonials related to the convenience of ordering foods, James’s couriers and buyers have brought a lot of proposals on how to improve the app.

Since we always adhere to the user-centric approach in building software products, our team continues to provide regular updates, support, and maintenance for the James Butler apps based on feedback from real users.

Chart

Why we’re proud of James Butler

Thanks to effective collaboration between all stakeholders, we could provide the Danish with a useful delivery service. That is born out by figures. Three months after the soft launch, the James app successfully achieved assigned KPIs:

4639

Registered buyers

1946

Registered shoppers

4972

Shopping lists

4027

Orders

This project also enabled us to prove to our client that our team could overcome issues quickly and effectively. By tracking user feedback, competitors, and technology trends in this niche, we are currently working on improving the James Butler app to make it serve Danes in the best way possible.

Visit James Butler

Download James Butler app

Digital Music streaming service for professional DJs

Next case
Unight

Got an idea in Mind?

Book a consultation
book consultation