Food Delivery

DineHome

A three-app React Native and Firebase food delivery platform for Norway — customer ordering, kitchen POS, and rider apps built from scratch with the Hello World Technologies team, taking the business to its first 1,000+ orders and 50+ POS installs.

DineHome app preview

Overview

Project overview

The build had to combine product clarity, technical reliability, and a release-ready mobile experience.

DineHome is a multi-vendor food delivery platform in Norway that lets restaurants run their own delivery instead of paying commission to aggregators. Between 2018 and 2020 I was a core mobile engineer on the team at Hello World Technologies that built it from scratch.

The platform is three React Native apps on one shared Firebase backend: a customer app for ordering and live tracking, an Android POS app that runs as a locked-down kitchen terminal, and a rider app with real-time GPS. I worked across all three, plus the native Android and iOS modules that made the hardware side work.

By the time I moved on, the platform had processed its first 1,000+ orders and was installed on 50+ restaurant POS terminals — the foundation DineHome has since grown into one of Norway's larger delivery brands.

  • Three React Native apps on one Firebase backend
  • Android kiosk-mode POS in Java/Kotlin
  • Native ESC/POS thermal printer module
  • Background GPS streaming for live rider tracking
  • Store releases and rollout to 50+ restaurants

Challenge

What needed to be solved to make the product launch-ready.

  • Give restaurants a commission-free alternative to aggregators, which meant matching the ordering and tracking experience of much larger platforms with a small team.
  • Keep three apps — customer, kitchen, and rider — perfectly in sync on one backend so an order placed on a phone appears in the kitchen instantly and reaches the right courier.
  • Make the kitchen terminal unescapable during a shift: staff tapping Home or Back on a tablet meant missed orders and lost revenue.
  • Print order tickets automatically on thermal printers and stream rider locations reliably, including with the screen locked — none of which React Native does out of the box.

Solution

How the product and engineering decisions were shaped.

  • Built the customer, kitchen POS, and rider apps in React Native with TypeScript on a shared Firebase backend, using Firestore listeners so order state updates in real time across all three.
  • Wrote native Android code in Java and Kotlin to harden the POS app into kiosk mode — overriding Home, Back, Recents, the power button, and gesture navigation so the terminal stays on the order screen.
  • Built a custom React Native native module that formats confirmed orders into ESC/POS commands and prints them on the kitchen's thermal printer the moment an order lands.
  • Implemented a background location service in the rider app that pushes GPS coordinates to Firebase continuously, so customers see live tracking without polling.
  • Handled App Store and Google Play releases for all three apps and supported the rollout to restaurants as the network grew from the first venues to 50+ POS installs.

Key Features

The capabilities that mattered most in the final build.

React Native
TypeScript
Firebase & Firestore
Native modules (Java/Kotlin/Swift)
Kiosk mode POS
Thermal printing (ESC/POS)
Background GPS tracking
Real-time order sync

Results

Signals that the product foundation was doing its job.

1,000+

First orders

50+

POS terminals installed

3 (customer, kitchen, rider)

Connected apps

3 (kiosk, printer, GPS)

Native modules built

Screens

Placeholder gallery for the main product flows.

These panels can use uploaded product screenshots or simple placeholders while final imagery is still being prepared.

Similar Project?

Have a similar project?

If you need a mobile product with clear delivery ownership, I can help shape the build, the backend, and the release path.

Mobile + Firebase

Product strategy, implementation, launch support.

Start the conversation