LOGISTICS PLATFORM · OCT 2025 — PRESENT

Flow LGX

One platform where shippers, distributors, carriers, warehouse staff, and dispatchers run every job — from the first quote to the final invoice.

Project facts

  • Client: Nicholas Wolff, Toronto, Ontario, Canada
  • Industry: Logistics, freight, and warehousing
  • Period: Oct 2025 — Present
  • Role: Full-stack developer — every role dashboard in React and TypeScript, wired to the Node.js REST APIs, with live notifications and Stripe payments.
  • Live site: https://flowlgx.com

What is Flow LGX?

Flow LGX is a logistics and warehousing platform built for a company in Toronto, Canada. It connects the people involved in moving and storing goods: the customers who need something shipped or stored, the distributors who manage that freight, the carriers and vendors who move it, the warehouse staff who receive and store it, and the dispatchers who keep every job on schedule.

Before Flow LGX, a single shipment could involve a dozen emails: a quote request, replies from several carriers, a booking, a warehouse receipt, a damage report, and finally an invoice. Flow LGX turns that chain into one job record. Every quote, scan, status change, exception, and payment is attached to the job, so anyone with the right access can open it and see the full story.

The platform is built around roles. A warehouse worker sees inbound and outbound work and a scanner. A dispatcher sees the dispatch board. A carrier sees requests for quotes, their drivers, and their compliance documents. A customer sees their shipments, stored inventory, and invoices. The super admin sees everything and controls who can do what.

How a job moves

Follow one shipment from the first quote to the paid invoice. Each step is a different screen, for a different person, on the same job.

  • Request a quote: A customer or distributor creates an RFQ (request for quote) with the commodity, dimensions, pickup and delivery contacts, special requirements, and schedule.
  • Carriers send prices: Approved carriers reply with a price and estimated timing. Each RFQ shows the hours remaining before it expires, and the customer accepts one quote or declines with a reason.
  • The job is dispatched: The accepted quote becomes a job. Dispatchers see every job by stage, with a suggested provider, and move it forward from one board.
  • The warehouse scans it in: Staff scan a barcode, QR code, SKU, or reference number, confirm the quantity received, and record the bin location, so the item is tied to the job and to a shelf.
  • Storage and release: Customers ask for goods to be delivered from storage, collected locally, or removed, and the warehouse scans items out when they leave.
  • Problems are handled, not hidden: Damaged, missing, partial, or refused items are logged as exceptions and moved from Open to In Review to Resolved, with a record of who handled them.
  • Invoice and payment: Each job produces a billing invoice with a due date, payment timeline, adjustments, and refund history. Customers pay by card through Stripe.

Who uses it

  • Super admin: Runs the whole platform: users, roles and permissions, carriers, warehouses, subscriptions, compliance rules, invoices, and reports.
  • Admin: Day-to-day operations: jobs, vendors, providers, staff, warehouses, inventory, RFQs, billing, and exceptions.
  • Warehouse staff: Inbound and outbound work, scan-to-receive, inventory, warehouse views, and exception reports from the floor.
  • Dispatcher: The dispatch board, jobs by stage, exceptions, warehouses, and the audit log.
  • Distributor: RFQs, jobs, inventory, storage, vehicles, billing, reports, and their own team as paid seats.
  • Direct customer: Active shipments and inventory, quote requests, storage requests, a vendor marketplace, billing, and support.
  • Customer: Their jobs, invoices, pricing, and the distributors they work with.
  • Vendor (carrier): Answers RFQs, manages jobs, drivers, warehouses, storage requests, inventory, and compliance documents.
  • Driver: Added by a vendor or distributor as a seat user, with a driver profile used for jobs on the road.

What it does

  • Nine role-based workspaces: Each user type gets its own dashboard and menu. Routes are protected by role, so a warehouse user can never open an admin page, and super-admin staff can be limited further — for example to compliance review or customer support.
  • RFQs and carrier quotes: Quote requests with commodity, dimensions, contacts, and conditions. Carriers respond with price and timing, quotes expire on a timer, and declines carry a reason.
  • Vendor marketplace: Customers can browse carriers by service type, service region, rating, response time, and compliance status — Compliant, Pending, or Expired — before they choose who moves their goods.
  • Carrier onboarding and compliance: A public “Become a carrier” flow collects company details, contacts, warehouses, equipment, and service regions by province or state and ZIP range. Admins set which documents are required and which ones expire.
  • Scan to receive, scan in, scan out: Warehouse staff scan or type a barcode, QR code, SKU, or reference, match it to the expected item, confirm the quantity, and set a bin location.
  • Inventory and warehouses: Stock by warehouse and bin, scan-matching for distributors and vendors, and short- and long-term storage requests with delivery, pickup, or removal.
  • Dispatch board: Every job with its stage and suggested provider, searchable by job ID or warehouse and filterable by date.
  • Exceptions workflow: Damaged, missing, partial, and refused goods are tracked through Open, In Review, and Resolved, so problems are visible until they are closed.
  • Live notifications: Updates arrive over a live Socket.io connection that reconnects by itself after a network drop, with per-user notification settings.
  • Billing, invoices, and Stripe: Job invoices with due dates, payment timelines, adjustments, and refunds. Saved card payment methods through Stripe.
  • Subscriptions and seats: Plans with a base price, included admin and driver seats, and a price for each extra seat. Seats can be pending, active, or cancelled.
  • Fleet, reports, and audit log: Vehicles with an assigned driver, charts and reports for each role, and an audit log that records who did what and when.

Explore Flow LGX

  • Open the public site: Go to flowlgx.com. The home page explains the shipper experience: shipment search and filters, documents such as invoices and packing lists, a full timeline for each shipment, and photo records of packages.
  • Look at carrier onboarding: Open flowlgx.com/become-a-carrier and step through the form to see how a carrier is vetted: account and email code, company, contacts, warehouses, equipment, and service regions. Please do not submit test applications — they reach the real operations team.
  • Follow one job on paper: Use the seven steps in “How a job moves” above. Each step is a separate screen for a different role, and all of them write to the same job record.
  • Ask for a guided demo: The signed-in workspaces hold real customer data, so they are not open to the public. Email contact@techroof.it.com for a screen-share walkthrough of any role.

The client

A logistics business was running quotes, carriers, warehouse stock, and invoices across email, phone calls, and spreadsheets. Nobody had one place to see where a shipment was, which carrier was trusted, or what had been billed.

A single web platform with a separate, focused workspace for each type of user, a carrier onboarding and compliance flow, barcode scanning for the warehouse floor, and billing with card payments — live at flowlgx.com.

What the client says about Flow LGX

  • “Excellent experience working on Flow LGX! The team understood our logistics business needs and delivered a professional SaaS solution. We’re very happy with the results and excited to continue our long-term collaboration on the upcoming phases. Definitely more work ahead!” — Nicholas Wolff, Toronto, Canada. Flow LGX: logistics and warehouse SaaS platform.

Built with

  • Front end: React 18, TypeScript, Vite, Tailwind CSS 4, React Router 6
  • Data and state: TanStack Query, Zustand, Formik, Recharts
  • Back end and services: Node.js REST APIs, Socket.io, Stripe
  • Security: Role-protected routes, Access token in memory, HttpOnly refresh cookie, Email OTP