I'm working on launching a small, local food delivery service inspired by platforms like Wolt and UberEats, but with a focus on a lean model centered around a single city or region. Customers will be able to browse local restaurants and stores, add items to their carts, and place orders. Each store would manage its own products and orders. Additionally, I'll have a small team of couriers who will get assigned deliveries and update order statuses through a mobile-friendly interface, likely a Progressive Web App.
My main challenge right now is selecting the right tech stack. I want to avoid reinventing fundamental features like shopping carts, orders, and payment systems from scratch, but I want to steer clear of bulky traditional e-commerce setups that might complicate workflows, especially when it comes to handling order statuses, dispatching, and real-time updates. Many existing solutions are tailored towards standard e-commerce sites, but delivery services have unique needs that traditional setups don't accommodate.
I'm eager to hear how people would approach this from a clean slate. What tech stack would keep things manageable while avoiding future limitations? Would you go for a classic backend framework with a separate frontend like Laravel paired with a modern JavaScript framework, or perhaps a backend-as-a-service option such as Supabase or Firebase with Next.js, Nuxt.js, or SvelteKit? I'm particularly interested in practical strategies for managing multiple stores, real-time order updates, and a courier interface while not overengineering the initial build. I'd love insights from those who've worked on similar systems.
2 Answers
How many concurrent deliveries are you aiming for? And how many cities are you planning to operate in? The scale can drastically change your approach here. If you're limited to just a few deliveries now, that could work, but if you're aiming for something bigger in the future, you really need to think about your structure from the get-go. Keeping things simple might end up restricting you as you grow. I worked on these systems at Uber, and I can tell you, it gets complex—especially when trying to navigate order management and updates in real-time.
Honestly, when embarking on a new project, it's best to stick with the stack you're most comfortable with. This goes for the frontend too. Choose a framework you enjoy and that helps you reach your target devices without extra hassle. Something like Flutter or React Native could work well since you can use the same codebase for both web and mobile.

For now, the idea is to keep it small—just one city with around five restaurants and stores. We're in more of an MVP phase right now, not looking to scale massively from the start.