Product Design
Swiftdine
/Facilitating dining experience/
Product Design
/Facilitating dining experience/
Let's talk about dining out. No, not the romantic, candlelit, three-hour-long kind 🌹🕯️💝. I'm talking about the other kind of dining. The kind where it's a busy Tuesday lunch, you're with your coworkers (and maybe the new guy who's on his onsite interview), and you're all crammed into the nearest pizza place trying to squeeze in a meal before heading back to fix eight more bugs ⏰🥪🧑‍💻. You've got exactly 45 minutes before your next meeting, but when you show up, there's a 15-minute wait. You finally get seated, but the server is MIA. You order, but the food takes forever. And when the bill comes, it's a whole new level of awkwardness—who owes what? Did someone forget their wallet? How do we split the shared pizza?
Swiftdine is a mobile app designed specifically for this. The idea was simple: let customers reserve a table, order ahead, and pay—all from their phone. No waiting, no hassle, no math.
Swiftdine wasn't just one app—it was an entire ecosystem. There was the customer-facing mobile app, the restaurant-facing web app (used on tablets), and the admin web app for managing everything behind the scenes. These platforms were tightly connected, and every action on one had to be reflected in real-time on the others.
If you’ve planned a team lunch, you know what I'm taking about: it’s like playing Overcooked on hard mode. It starts simple: “Hey, let’s grab food at 12.” Then reality kicks in. Emily can’t make it because she has to fix an urgent bug that popped up out of nowhere. A new intern is joining at the last minute. Kelly is subbing in for Alex because Alex bought her bubble tea yesterday. Justin is ordering for his boss, who’s stuck in a meeting. The team wants to plan a little birthday surprise for Wendy. The entire plan gets delayed because of an emergency team meeting. And David just wants to know if he could bring his dog.
If you go to any restaurant in San Francisco during lunch time, this is happening every minute, in every restaurant. This isn't just an edge case—this is every case.
To make Swiftdine work, we had to design for chaos. We didn't just react to edge cases—we designed for them. That meant two things:
Swiftdine had two completely different users with two completely different goals. Diners wanted speed, simplicity, and zero hassle. They were choosing a restaurant last minute and needed to book within five minutes or less. Restaurants, on the other hand, wanted predictability. More customers, fewer cancellations, and a way to lock in reservations so they didn't get ghosted at the last second.
But a system that works on paper isn't enough. We needed to break it before our users did.
So we went full troll mode and became everyone's worst customer.
... I have to admit, it feels good when you are given the whole permission to be an asshole sometimes.
It turned out that despite the surveys we sent, the interviews we carried out, the best insights came from dogfooding our own product. And guess what? We broke it. Multiple times. But every time we did, we patched the cracks—until one day, it didn’t break anymore.
Most products are designed for the best-case scenario—where everyone follows the rules and nothing goes wrong.
Swiftdine was designed for real life.
Because if an app can survive a lunch full of late coworkers, swapped reservations, and last-minute orders...
It can survive anything.
The key to Swiftdine's design was understanding its two main user groups: individual diners and restaurant owners. For diners, the big sell was "dining minus wait." No more standing around awkwardly while your stomach growls. For restaurant owners, the value was "tables turned faster." Faster seating, faster ordering, faster payments—more customers, more revenue.
The new design was a hit. The app looked better, worked better, and—most importantly—handled even the most ridiculous edge cases with ease. Today, Swiftdine is partnering with restaurants in LA and expanding to both coasts, and the app has a 5.0 rating on the Apple Store.
But the real win? Knowing that somewhere out there, a group of coworkers is enjoying a meal without waiting, without hassle, and without arguing over the bill. And that's what good design is all about: making life a little easier, one dinner at a time.
One thing you realize fast when designing for a two-sided marketplace is that the same product lives in two completely different realities.
For diners, Swiftdine was a convenience tool. The goal was speed—no waiting, no awkward bill-splitting, no hassle. They wanted a seamless experience where they could get in, eat, and get out without friction.
For restaurants, Swiftdine was a business tool. The goal was control—minimizing no-shows, optimizing table turnover, and ensuring their staff wasn't scrambling at the last minute. They wanted predictability and reliability.
Designing for both meant striking a balance. Give diners too much flexibility, and restaurants would be left with ghost reservations and last-minute changes. Give restaurants too much control, and diners would feel boxed in, forced to commit before they were ready. The best products don't just serve two sides—they align motivations so that what's good for one is good for the other.
In most products, edge cases are those 1% weird, rare situations that you don't really design for until they cause a problem. In Swiftdine, edge cases weren't edge—they were the entire product.
We built it expecting that plans would change, people would drop in and out, and the restaurant would need to keep up in real time.
Instead of a static system where every change was an exception, we designed Swiftdine like an elastic structure—bending without breaking.
If your product's "edge case" happens every day, then it's not an edge case.
It's the core experience.
Here’s something funny: when Swiftdine worked perfectly, people barely noticed it. And that’s exactly the point. You want to add a dessert? The option is just there. Need to postpone lunch? No hassle. When the product anticipates your next step before you even think about it, using it feels like second nature. No friction, no frustration—just flow. The best design isn’t the one that stands out; it’s the one that gets out of the way.
- end -