Case Study

Impact: a connected commerce ecosystem.

Headless Vendure backend with 30+ production plugins, a custom Next.js storefront, and three React Native mobile apps for delivery, internal operations, and the B2B sales team.

30+

Production plugins

3

Mobile apps

B2B + B2C

Sales channels

Vendure

Commerce engine

The challenge

Impact Nutrition needed more than a storefront. Their business covers retail, B2B wholesale, in-store sales, and delivery operations. Off-the-shelf platforms like Shopify and WooCommerce could not handle the combination of complex pricing rules, B2B workflows, internal logistics, and field operations they required. They needed a single connected system: storefront, admin, fulfilment, and field teams all working from the same data.

What we built

A complete commerce ecosystem on Vendure. The backend handles products, orders, customers, B2B accounts, and pricing rules through 30+ custom plugins covering reward points, affiliate program, bundle builder, B2B pricing, and more. The storefront is a custom Next.js application with complex checkout flows, multi-currency support, and a product configurator. Three React Native (Expo) mobile apps extend the system into operations: a delivery app for drivers managing routes and pickups, an internal ops app for warehouse and inventory tasks, and a commercial app used by sales reps for B2B order taking with camera-based document capture.

InBody integration and supplement recommendations

Impact's stores run InBody body composition machines that scan customers and produce detailed analytics on body fat, muscle mass, water balance, and more. We integrated those machines directly with the Vendure customer profiles, so every scan is stored against the right customer record. On top of that data we built a rules-based supplement and micronutrition recommendation engine. When a customer's profile is updated by a new InBody scan, the system surfaces the right product recommendations both in-store (through the commercial app) and online (through the storefront).

Key decisions

We picked Vendure over Magento and custom builds because it gave us a TypeScript-first, plugin-extensible foundation without forcing us into a rigid checkout flow. Every business rule lives in a versioned plugin, which makes the system testable and maintainable. Mobile apps use Expo to share code across iOS and Android while still allowing native features like camera, barcode scanning, and push notifications. All apps connect to the same Vendure GraphQL API, so there is one source of truth for orders, customers, inventory, and InBody analytics.

Outcome

Impact runs the entire business on this stack. Orders placed in-store, online, or by sales reps all flow through the same Vendure backend. Drivers see their delivery routes in the mobile app, ops staff manage inventory from the warehouse, and finance has a unified view of B2B and retail revenue. The plugin architecture means new business rules can be added without touching core code, and the team can ship new features without waiting for vendor releases.

Screenshots

Impact Nutrition storefront homepage with product categorisation, InBody section, and partner program
Custom Next.js storefront: product categorisation by training goal, InBody integration section, and B2B/affiliate program entry points.
Impact Nutrition product detail page with reward points, frequently bought together, pack discount, and customer reviews
Product detail page: reward points, frequently bought together, pack discount, and reviews — all custom plugins.
Custom Vendure admin orders view with AFEX shipping plugin, custom ops state column, COD workflow tabs, and B2B Pro sidebar
Custom Vendure admin: AFEX shipping integration, ops state tracking, COD workflow tabs, and B2B Pro module.
Vendure customer detail page showing InBody body composition data, measurement history, body type analysis, and supplement recommendations
InBody-linked customer profile: weight, body fat, muscle mass, BMI, segmental analysis, and rules-based recommendations stored against the Vendure customer record.

Technology stack

VendureNext.jsTypeScriptReact NativeExpoPostgreSQLGraphQLNode.js