Bespoke Apps

2021 · Mobile, Payment APIs, Cloud, Clients

I — unfortunately - once went to a Wetherspoons and was surprised that more venues don't have an app like theirs. It let you stay engaged in your conversation, ensured orders were accurate, and made ordering more seamless. That's when I became curious about building a platform for this.

I started the project on my own, laying the foundations and experimenting with the direction. As the idea took shape, we built a small team, and together we set out to create bespoke apps for venues—aiming to enhance the dining experience for both customers and businesses by providing greater convenience and much deeper data insights respectively. When COVID-19 began, it gave me more time to focus — I was putting in 13-hour days, six or seven days a week alongside our degrees, because we loved what we were building.

Timetabling Is Hard

Setting up open times and menus was more complex than we anticipated. Some menus have different opening times, and the UI needed to handle this gracefully.

Speaking with Clients

We reached out to local venues like Real Food Cafe and even larger chains like Heineken, going door-to-door to understand their needs and challenges - this was definitely character building at points, and we learnt a lot!

Insights

We provided data insights on ingredients usage and identified popular tables, helping venues optimize inventory and seating arrangements.

No Accounts Needed

When you order in person, you're not asked for your name or to create a password. We felt that forcing users to create accounts added unnecessary friction. Accounts can be useful, but they shouldn't be mandatory.

Venue Pricing

We structured our pricing so venues could increase their visibility by opting for higher tiers—essentially paying more to attract more customers.

Mistake 1: Not Just an App

Our initial approach was native iOS (Swift, SwiftUI) and Android (Kotlin) customer apps, with a companion website (Flutter) for venue order management.

We realized it shouldn't have been just an app. A web platform would have been more accessible, especially since Flutter wasn't mature enough at the time.

With the benefit of hindsight, building a Svelte app for customers and venues (where the venue using WASM for fast on device data processing) would be a better approach.

Mistake 2: Payment Processing

Implementing Adyen and Stripe for payment processing was overkill. We should have leveraged Apple Pay and Google Pay for a smoother experience.

Learning 1: Bluetooth Connectivity

We explored Bluetooth connectivity to communicate more directly with devices, aiming to minimize friction in the ordering process.

Learning 2: Support Big Screens

Like McDonald's and Starbucks, we realized the importance of supporting big screens to increase the ways customers can interact with the system.

Learning 3: NFC Integration

We considered adding NFC chips to menu holders, tables, and coasters to streamline the ordering process.

Learning 4: POS Integration

There are numerous POS devices that are old but familiar to staff. We realized we should partner with these systems or build an end-to-end solution.