Sizl: How We Launched a Rider App in Just 2.5 Weeks

About Project
Sizl is a Chicago-based dark kitchen network. In April 2025, we helped them rebuild their main customer app from scratch in just three months. Then, we migrated the project to React Native, added new features, and prepared the product for an investor demo. The relaunch helped Sizl secure funding, and we have been growing the product as their technical partner ever since.
The next step was a standalone riders app, which was built separately to isolate business logic and streamline operational workflows.
Why do we need a separate rider app?
In a growing business ecosystem like Sizl’s, where different roles interact with the system – such as kitchens, riders, and support – merging all functionality into a single app would be both inconvenient and inefficient. That's why the client decided to create separate, tailored apps for each role with a simple, streamlined process.
This approach prevents users from becoming overwhelmed, speeds up development, and simplifies support. It also enables the team to track performance metrics for each app individually, making it easier to identify areas for improvement at each stage of the order lifecycle.
At the same time, all the apps share a single codebase. This results in reusable components, quicker deployment, and a solid foundation for long-term growth.
Read more about this approach in this article.

Sizl: How we became the tech partner for the Chicago-based Dark Kitchen Network
Take a look at how Sizl’s dark kitchen rider app works from the user’s perspective
Goals and Objectives
Our goals for this new project were:
- Build a fast and intuitive way for riders to accept orders and report completed deliveries;
- Sync the rider app with the admin panel so that riders and kitchen staff could see real-time order statuses and stay aligned throughout the process;
- Move fast by reusing the architecture and components from the main customer app.
Looking for a tech partner? Here are the collaboration formats we offer
Timeline
We built and released the rider app in just 2.5 weeks by leveraging shared components from the monorepo.
Key Achievements
Today, the Sizl rider app supports:
30-40 minutes
average delivery time
Planning to build a delivery app? Tell us about your project
Admin Panel
Before an order is delivered by a rider, the station manager processes it via a dedicated admin panel that is synced with the app. Here’s how the process works:
Order Processing

Handing Off to the Kitchen

Order Selection
In the Bundling section, there are two lists: one for ready-to-go orders and one for riders currently at the station. The packer manually groups one or more orders into a bundle and assigns it to a rider, typically the first one in line.

A map view helps group nearby addresses into efficient bundles. We plan to automate this process soon. For now, the manual process allows us to identify bottlenecks and optimize rider distribution.
To accept an order, a rider must arrive at the station and tap "Ready to Go" on their app. This update appears in the admin panel, letting the packer know who’s next in line.

Rider Workflow
Here’s how the Sizl rider app works in practice.

Sign in

Station Check-in

Getting in line for delivery

Receiving a Delivery
Completing the Delivery
All orders in the bundle are shown as a list with customers names, contact details, and delivery notes. Each order has one of two statuses:
Hand in person – for in-person deliveries, confirmed with a tap.

Leave at door is for contactless delivery. The rider takes a photo as proof by opening the camera or uploading from the gallery.

Development Features
Below are a few technical solutions that helped us quickly build the rider app and ensure that it runs smoothly in production.
Monorepo Architecture
For this project, we applied one of our core engineering principles by using a monorepo architecture. This approach works especially well for businesses that scale quickly and have a distributed digital ecosystem consisting of multiple interconnected products.
All Sizl apps — the customer app, the rider app, and the support interface — live in a single codebase. Each app has its own folder and business logic but shares core infrastructure and reusable components. This allows us to roll out updates across all apps quickly and consistently.
For instance, the customer app included UI components such as buttons, lists, and input fields. Rather than rebuilding them from scratch, we reused them directly from the monorepo. The same goes for API integration and authentication logic — it’s unified across all apps. Any update made in one place is instantly applied across the system, eliminating the need for manual syncing.

When we developed the support chat feature, we simply pulled the existing module from the customer app. Since the interface and behavior were already aligned, it only took a couple of days to release the feature.
We discuss this approach in more detail in this article
Offline Support
Some areas in Chicago have spotty internet, so we added offline-first functionality. Riders can upload delivery confirmation photos without an internet connection; the app stores the data and syncs it automatically later.
React Native + RxDB: How to build Local-First applications. Architecture and examples
Read more about how we use such a development approach in this article
Live Geolocation Sync
While the rider is en route, customers can track their movements in real time via an in-app map that updates automatically.

OS-Level Adjustments
While all Sizl apps are cross-platform (one of the reasons we love React Native), we made a few platform-specific tweaks for iOS – including improvements to push notification handling and background geolocation tracking.
Used technologies
Frontend: React Native
Design: Figma
Team






The Essence of the Product
When we launched Sizl’s delivery operations, our goal wasn’t just to hand off orders to riders; it was to build a structured, efficient process in which no one wastes time on unnecessary steps. When a rider arrives at the station, they tap a single button, and the system instantly marks them as available. The station manager sees this in the admin panel, assembles a bundle, and hands it off.
This setup improves delivery speed and gives the team better control over quality and cost. Riders return faster, kitchens stay productive, and customers receive their food on time.
