The Challenge

Vanden Bussche Irrigation came to Lightning Kite with a B2B e-commerce platform split across three codebases: a custom PHP web application, a Laravel API backend, and a React Native mobile app. That setup made routine product work expensive. A feature often had to be implemented more than once, and a bug in one workflow could send the team into multiple stacks to trace the real cause.

The platform also supported real operational complexity. Contractors and landscapers relied on it for product catalogs, ordering workflows, and multi-warehouse logistics. Any rewrite had to simplify the software without forcing customers and internal teams to relearn the job.

The Solution

We rebuilt the platform into a single Kotlin Multiplatform codebase using KiteUI and Lightning Server. Web, iOS, and Android now ship from shared client code, and the backend moved behind typed APIs with generated client SDKs. Instead of coordinating three separate repositories and three different stacks, the product team could work from one codebase and one language.

The rewrite also had to respect the existing business. We preserved the familiar user experience and historical purchase data while moving the platform onto infrastructure that was easier to maintain, extend, and deploy.

By the Numbers

Comparison between the old Vanden Bussche platform and the new Kotlin Multiplatform system
MetricOld SystemNew System
Repositories3 (PHP web, Laravel API, React Native mobile)1 (Kotlin Multiplatform)
LanguagesPHP, JavaScript, HTML, CSS, BladeKotlin
First-party code~29,000 lines across 349 files~19,300 lines across 183 files
Client-side code~23,600 lines (web only + mobile only)~13,100 lines (web + iOS + Android)
Platforms servedWeb + mobile (separate codebases)Web + iOS + Android (single codebase)
Code reduction34% less code while covering more platforms

The old system required ~23,600 lines of client code to cover web and mobile as separate applications. The new system covers web, iOS, and Android in ~13,100 lines of shared Kotlin. The backend stayed roughly the same size (~5,500 lines) while moving to typed endpoints and a deployment model that can work with either AWS Lambda or dedicated servers.

Technology

  • Kotlin Multiplatform with KiteUI for cross-platform mobile and web
  • Lightning Server for typed backend API with auto-generated client SDKs
  • Migrated from React Native + Laravel + custom PHP
  • AWS deployment with Lambda/dedicated server flexibility