Skip to content
Olle Marmenlind

2025-11-30

B2B Scan-to-Order

Android proof of concept for barcode-driven B2B ordering.

Area
Kotlin / Android / Firestore / REST

An Android Proof-of-Concept streamlining B2B inventory management via on-device barcode scanning.

Video demo

Project Overview

Designed for field sales reps and store managers to “walk the floor” and restock inventory instantly. By using the phones camera to scan barcodes on shelves and products you the remove to memorize and search for article numbers/product names or navigate complex catalogs.

Tech Stack

  • Language: Kotlin
  • UI: Jetpack Compose (Material 3)
  • Architecture: MVVM + Repository Pattern
  • Backend: Firebase (Auth, Firestore)
  • Hardware: Google Code Scanner (ML Kit) via Play Services
  • Networking: Retrofit (OpenFoodFacts API fallback)

Architecture

The app uses a hybrid data strategy. It prioritizes the internal Firestore catalog for pricing/stock. If a scan is unrecognized, it queries the external OpenFoodFacts API to allow users to request new stock items.

plant uml diagram

Key Features

  • Hybrid Scanning: Seamlessly handles internal vs. external products.
  • Real-time State: Cart badge and totals update instantly via Firestore Snapshot Listeners.
  • Serverless: Full Backend-as-a-Service implementation including Anonymous & Google Auth.
  • Batch Operations: Atomic writes for order processing to ensure data integrity.

Disclaimer

This architecture utilizes client-side pricing logic not suitable for a public production release.