Skip to content
B2B marketplaceWeb platform

TreeDots

Three products share one set of numbers, and if stock, pricing and delivery windows ever drift apart, perishable food is what gets lost.

TreeDots: the live site
Our role
Frontend engineering on the buyer app and marketplace
Timeline
Ongoing engagement
Team
Lead engineer, frontend engineer

3

Products, one platform

marketplace, logistics, back office

iOS + Android

From one codebase

Ionic and Vue

Cold chain

Temperature-controlled

delivery windows that matter

01

The problem

Surplus food has a deadline

TreeDots runs three things under one roof: a marketplace where suppliers list excess or imperfect food to businesses at lower prices, a temperature-controlled logistics service, and an admin system for digitising a supplier's own processes.

The commodity is perishable and the inventory is, by definition, irregular. Stock that is listed but already gone, or a delivery window that the cold chain cannot actually meet, is not a bad user experience here: it is spoiled food and a lost customer.

02

What we did

One codebase for buyers, one source of truth underneath

The buyer-facing app is Ionic and Vue, shipping to iOS and Android from a single codebase against a Node backend. Ordering covers catalogues by category, order history and repeat buying, which is most of what a B2B buyer does.

None of it works unless stock, pricing and delivery windows stay in sync between the app and the back office. That synchronisation, rather than the ordering interface, is where the engineering effort went.

  • Ionic and Vue buyer app to both stores from one codebase
  • Category catalogues, order history and repeat ordering for B2B buyers
  • Stock, pricing and delivery windows synchronised with the back office
  • Cold-chain delivery windows surfaced at the point of ordering
03

The outcome

Surplus stock that actually moves

Buyers order from one app on both platforms, with stock, pricing and delivery windows reflecting what the back office and the cold chain can genuinely deliver.

What it is built on

App

  • Vue.js
  • Ionic
  • Capacitor
  • TypeScript
  • Vuex

Backend

  • Node.js
  • Express
  • PostgreSQL
  • Redis
  • Docker

Delivery

  • App Store
  • Play Store

What we learned

  • 01

    In B2B, optimise the reorder, not the browse. The second purchase is the business model.

  • 02

    When inventory is perishable and irregular, synchronisation is the product. The interface on top of it is comparatively easy.

Next step

Tell us what you are trying to build.

Thirty minutes with the engineer who would lead the project. You will leave with an opinion on what to build, what to skip, and roughly what it costs, whether or not you hire us.

2 build slots open · Next start: early next month

What happens next

  1. 1You send a few lines about the product and the deadline
  2. 2We reply within one working day with times
  3. 3A 30-minute call, no deck, no sales script
  4. 4A written summary and a ballpark range within 48 hours