Back to work
Food & Restaurant Technology / Retail Commerce2023

Bifrost Shop — Multi-Tenant QSR & Retail Ordering Platform

Role

Full Stack Engineer

Client

Sprinting Software

Duration

2 years

Context & Goals

Enterprise multi-tenant ordering platform serving major Nordic QSR and retail brands — Sunset Boulevard, Carl's Jr., Bilka, and Harald Nyborg — as a cross-channel web app and native iOS/Android app from a single codebase.

Constraints & Challenges

Major Nordic QSR chains and retailers (Sunset Boulevard, Carl's Jr., Bilka, Harald Nyborg) needed a single unified ordering platform capable of serving customers across four distinct channels — kiosk, desktop browser, mobile browser, and native iOS/Android app — while maintaining completely separate brand identities, business models, feature sets, and regional configurations per tenant, all without maintaining separate codebases.

Solution & Approach

Built a single Vue 2 + Vuex codebase with a deep multi-tenant configuration layer, where each of the 25+ tenant IDs maps to its own business model (QSR, Catering, Retail), locale, pricing rules, payment providers, shop selections, and feature toggles. Used Capacitor 6 to compile the web app into native iOS and Android binaries with per-brand Groovy pipeline scripts for CI/CD. Implemented a provider-based API layer (100+ provider modules) to abstract backend communication, and a JSON Rules Engine for dynamic pricing and capacity logic at the client side.

Delivered a production cross-channel ordering system serving Sunset Boulevard, Carl's Jr., Bilka, and Harald Nyborg across kiosk, web, and native mobile. The platform handles full order lifecycle management, loyalty and punch card integration, subscription management, voucher redemptions, upsell rules, group ordering, and mystery box promotions. Integrated Firebase FCM push notifications, Capacitor barcode scanning, geolocation, PDF receipt generation, and real-time order tracking via SSE. Monitored with Elastic APM RUM, Google Analytics, Firebase Analytics, and Microsoft Clarity across all tenant deployments.

Technology Stack

Vue 2VuexVue RouterVuetifyTypeScriptWebpackSCSSCapacitor 6AxiosFirebase FCMFirebase AnalyticsGoogle Tag ManagerElastic APMGoogle MapsJWTBarcode ScannerQR CodeLuxonJSON Rules EngineDockerJenkins CI/CD

Results & Impact

  • 25+ tenant configurations across Sunset Boulevard, Carl's Jr., Bilka, Harald Nyborg, and Salling Group brands from a single codebase
  • Four distinct channel targets served: kiosk, desktop browser, mobile browser, and native iOS/Android app
  • 100+ API provider modules powering the full commerce domain including loyalty, subscriptions, vouchers, upsell, group ordering, and A/B testing
  • Native iOS and Android apps compiled from the same web codebase via Capacitor with per-brand automated CI/CD pipelines
  • Full analytics stack: Elastic APM RUM, Google Tag Manager, Firebase Analytics, and Microsoft Clarity running in production across all tenants

Project Links

Interested in similar outcomes for your project?

Get in touch