Rides, food and packages in one app. Kerb is the complete source of the ride, food-delivery and courier app built in the ReactBD course "Kerb from Scratch": an Expo app for iOS and Android, an assistant powered by Claude, an admin console, and a Node.js API with 135 tests. It runs on your Mac from the first launch with no keys at all.
RIDES A live map home with moving cars, search with stops, ten kinds of ride (from an e-bike to a supercar) each with its own price and arrival time, booking up to seven days ahead, payment and promo sheets, confirm your pickup, finding a driver, the driver arriving (PIN, chat, call, safety tools, share your trip, cancel), the trip itself, rating with a tip, and the receipt. Courier sends a package across town with the same flow.
KERB EATS Ten restaurants and sixty-four dishes, filters and sort, menus with sizes and add-ons, the basket, checkout with standard or priority delivery, a note and a tip, payments in a test mode that behaves like Stripe's test cards (including declines and the 3-D Secure check), and live order tracking from the kitchen to the door.
YOUR ACCOUNT Activity and receipts, a wallet with Kerb Cash, Kerb Pass, promotions, profile, trusted contacts, settings, and the whole app in light and dark mode.
KERB ASSISTANT (CLAUDE) Ask what your last trip cost, what a ride to the airport would be, or where to eat tonight. Claude answers from your trips, orders and wallet through your own server, the reply streams in as it's written, and buttons under it open the right screen. With no key, it answers on the device.
ADMIN CONSOLE Live trips, drivers, Eats orders, restaurants, pricing, promotions and the support queue, inside the same app.
WIDE SCREENS On foldables and tablets, the ride panel floats beside the map and restaurants line up in columns.
HOW IT'S BUILT Every outside service sits behind a small adapter with a test version built in. Phone sign-in with Firebase and Kerb Assistant with Claude are implemented: add your own keys and switch one setting. Maps and payments run in test mode, ready for a Google Maps or Stripe adapter. The screens run on the app's own test data with a simulation clock, and the server already has the REST API for rides, Eats, payments, the account and the admin console, ready for you to connect. Secret keys live only on the server.
WHAT YOU GET
The Expo app: Expo SDK 58, React Native 0.88, React 19, TypeScript, Expo Router, NativeWind, Reanimated, Zustand
The API: Node 22, Hono, Zod, JWT sessions, server-sent events, the Anthropic SDK, 135 tests
50+ screens, one design system for light and dark, four accent colours
Guides: start here, full setup with troubleshooting, every environment setting and where to get each key, the project structure, and how to make it your own
SETUP You need a Mac with Xcode and Node 22.12 or newer (Android Studio for Android). No .env file, API key or Firebase config file is included: copy the .env.example files, where each key says what it's for and where to get it.
LICENCE Use, modify and ship it as your own app or for a client project. You may not resell or republish the source as a template. Full terms are in docs/LICENSE.md.