Overview

TasteTech, a Flutter-based food-ordering platform for restaurants and cafes, partnered with Bacancy to upgrade its app from Flutter 2.x to 3.7+, add web support to a previously mobile-only product, and integrate cross-platform Windcave payments and QR-based ordering. Bacancy stabilised the codebase with sound null safety, extended the app to the browser, and reduced payment overhead to support a single, scalable cross-platform experience.

Technical Stack

  • Flutter
  • SQL
  • ASP.Net
  • Firebase
  • Industry

    Information Technology

  • region
  • Region

    Australia

  • project-size
  • Project Size

    Non- Disclosable

Highlights

QR-based direct hotel orders

Customizable orders via multiple APIs

Web support for mobile app

Windcave Payment Gateway API

Challenges & Solutions

Migrating From Flutter 2.x to Flutter 3.7+ With Null Safety

TasteTech was built on Flutter v2.x, a version with no sound null safety and no web build target. That left the codebase exposed to null-reference crashes at runtime and made it impossible to add the same app to a browser. Staying on the old version also blocked newer packages and platform features that had already moved to null-safe, web-capable APIs.

  • Solution: Our team of Flutter developers performed a full Flutter app upgrade to v3.7+, migrated the codebase to sound null safety, and worked through the breaking changes and deprecated APIs introduced across the version jump. Each module was re-validated on Android, iOS, and the web after migration. The result is a single, stable codebase that compiles to all three targets, with runtime null-safety guarantees and access to the modern package ecosystem that the older version had locked out.

Integrating the Windcave Payment Gateway Across Android, iOS, and Web

The client needed payments to behave identically on mobile and web, but the conventional payment gateway SDKs they evaluated were not economical and would have required separate, platform-specific integrations to cover Android, iOS, and the new web target.

  • Solution: Our team built a custom Windcave integration using Flutter WebViews and URL redirects instead of native per-platform SDKs. A single flow renders the Windcave hosted payment page inside a WebView, handles the redirect and callback to confirm each transaction, working the same way on all three platforms. This avoided duplicate per-platform SDK work, its recurring cost, and left TasteTech with one payment implementation to maintain rather than three.

Adding Web Support to a Previously Mobile-Only App

TasteTech started as a mobile-only application; several of its dependencies and UI assumptions did not translate to the browser. Packages needed web-compatible versions, the layout had to work on large desktop displays rather than just phone screens, and navigation built on mobile patterns broke against the web’s URL-based routing.

  • Solution: We have updated the dependency packages to web-supported versions, reworked the UI into an adaptive layout that scales to large displays, and rebuilt navigation around web URLs, adjusting the payment flow for the web context. TasteTech now runs in a browser with the same feature set as the mobile app, extending reach to web users without maintaining a separate codebase.

Building a QR-Based Ordering Flow for Tables and Stores

The client wanted contactless, automated ordering: a diner should be able to scan a code at a specific table or outlet and land directly in the right store’s menu, on both Android and iOS, without manually searching for the location.

  • Solution: Our team built a custom QR ordering flow on Firebase using dynamic store IDs, with deep linking for Android and iOS so a scanned code opens the app at the correct destination. On app startup, navigation resolves by store ID, routing the diner straight to the right outlet’s ordering screen. This removed manual store selection and delivered the QR-driven, contactless ordering experience the client was after.

Core Features

  • Upgraded Flutter legacy code
  • Integrated Google Maps for restaurant navigation
  • Adaptive UI for larger displays
  • Altered payment flow for web platforms.

Results & Impact

  • Migrated from Flutter 2.x to 3.7+ with sound null safety, giving TasteTech one stable codebase across Android, iOS, and web
  • Web support added to a previously mobile-only app, extending reach to browser users without a separate native build
  • A single Windcave payment integration via WebViews and URL redirects now works across all three platforms, removing the need for costly per-platform payment SDKs
  • QR-based ordering with Firebase dynamic store IDs and deep linking enables contactless, scan-to-order at the correct table or outlet
  • Adaptive UI now scales from phone screens to large desktop displays
  • Google Maps integration added for in-app restaurant navigation
  • no.-of-resources
  • No. of Developer

    01

  • time-frame
  • Time Frame

    June 2022 - March 2023

Experience With Bacancy

2500+ Projects Experienced Innovation with Bacancy!

Get access to an experienced team of developers and engineers from Bacancy, handpicked to ace your goals. Kickstart within 48 hours, no-risk trial.

Book a 30 min call
14+

Years of Business
Experience

1458+

Happy
Customers

12+

Countries with
Happy Customers

1050+

Agile enabled
employees

How Can We Help?