Krenno
All projectsCase study
Web AppLogistics2025webadmin-consolepublic-tracking

ShipX

The control tower for multi-courier shipping in India.

One platform to rate, book, track, and settle every shipment across India’s courier networks.

View live product

Client

ShipEx India

Engagement

logistics saas

Krenno roleProduct strategyUX and information architectureBrand and marketing siteFull-stack engineering+3 more
Positioning

Why this product exists

ShipX replaces the spreadsheet-and-portal grind of running logistics. Sellers get one rate card, one wallet, and one tracking timeline instead of nine courier dashboards. Finance gets automated freight, COD, invoice, and weight-discrepancy ledgers. Operations get scheduled tracking sync, NDR workflows, and channel imports from WooCommerce and Shopify. The product is built for teams that ship every day and need the financial and operational layer, not only an AWB generator.

ShipX shows that Krenno can design and ship a multi-sided logistics SaaS: seller, employee, salesperson, and admin surfaces on one data model; event-driven Cloud Functions that keep wallets and tracking truthful; and a courier adapter layer that speaks nine carrier APIs without leaking that complexity into the product UI. For the next client, that is evidence we can take a messy industry workflow and turn it into a paid, multi-tenant operating system.

Built for

  • D2C brands shipping nationwide on prepaid and COD
  • Marketplace and social sellers who need pickup, labels, and tracking without a logistics team
  • SMEs and manufacturers moving B2C parcels and B2B cartons
  • 3PLs and service providers who want a white-labeled booking and billing layer
  • Operations, finance, and sales teams inside a shipping aggregator
The story

Challenge, approach, solution

01

The Challenge

Indian sellers do not fail at packing boxes. They fail at the layer around the box: which courier is serviceable, what the zone rate will be, whether the wallet can take the debit, how to act when a delivery attempt fails, and how COD money comes back. Each courier has its own portal, status vocabulary, weight bill, and NDR process. Finance then reconstructs freight, GST, remittance, and disputes by hand. Growing brands also need employees with limited permissions, a sales team that can onboard sellers, and storefronts that should create orders without a second data entry step.

02

Our Approach

We treated shipping as an operating system, not a booking form. The product is organized around four workspaces that share one Firestore data model: sellers run fulfillment, employees work inside permissioned slices of a seller account, salespeople manage the pipeline, and admins own courier catalogs, rate cards, weight files, and profit. Courier complexity is isolated behind adapters. Money moves only through ledger documents so a freight charge, COD confirmation, Paytm recharge, or WhatsApp debit always updates the wallet the same way. Tracking is pulled on a schedule and on demand, then normalized into one status language the rest of the product can trust.

03

The Solution

ShipX is the aggregator console those teams actually run. A seller registers, completes KYC, receives a rate-card tier, and can quote a shipment in seconds from pincode, weight, payment mode, and value. Booking writes an order, selects a carrier, generates an AWB, prints a label, and opens a live shipment record. From there the platform tracks, notifies, raises NDR, reconciles excess weight, remits COD, and invoices. Admins configure the network. The public site lets a prospect calculate a rate or track a parcel before they ever log in.

Experience

The Experience

A seller lands on a dashboard that already answers the morning questions: wallet balance, shipments by status, COD outstanding, NDR load, zone mix, and courier split. Quick actions jump to single order, bulk CSV, quick shipment, rate calculator, or warehouse setup. Creating an order walks pickup, destination, package, and WhatsApp opt-in, then presents ranked courier options with zone, GST, and COD charge. After booking they print a branded A4 label with barcode and public tracking QR. Shipment pages show activity history, NDR actions, and weight disputes. Billing is a statement, not a mystery: freight, reversals, remittance, Paytm and manual recharges, and downloadable invoices. Employees see only the modules they are granted. Salespeople work a seller list and call log. Admins open any seller’s shipments, NDR, weight, and billing without leaving the catalog.

Product

What we built into the product

Multi-Courier Rate Intelligence

Compares live serviceability and landed cost across Xpressbees, Nimbuspost, DTDC, Delhivery, SmartShip, Intargos, Maruti, Ecom Express, and Shiprocket. Zone logic (A–E) uses city, state, metro, and Northeast/J&K rules plus pincode distance so quotes match how Indian aggregators actually price.

B2C and B2B Order Booking

Sellers create single orders, quick shipments, bulk CSV uploads, and B2B carton moves with box dimensions, invoices, and pickup warehouses. Prepaid and COD are first-class payment modes, with KYC gated before a shipment can leave the dock.

Unified Shipment Control Tower

Every AWB is denormalized for seller, admin, and public tracking views. Status history, courier raw payload, exceptions, and open/closed state live on one record. A five-minute scheduler plus on-demand sync keeps carrier status current without sellers refreshing nine portals.

NDR Recovery Workspace

Failed delivery attempts surface as NDR shipments with raised events and seller actions such as reattempt, change phone, or change address. The dashboard highlights NDR load so operations can act before RTO freight is charged.

Wallet, COD, and Invoice Ledger

A prepaid wallet funds freight, COD fees, RTO, excess weight, and WhatsApp charges through atomic ledger writes. Paytm checkout and manual top-ups credit the same statement. COD confirmation moves amounts from ‘to be remitted’ to initiated remittance. Tax invoices and public invoice pages close the finance loop.

Weight Reconciliation

Admins upload carrier weight files; the platform opens discrepancies, auto-accepts aged disputes, and posts excess-weight charges only when a case is accepted, closed, or rejected. Sellers and employees work the same queue from their consoles.

Buyer Notifications

Shipment status can notify the consignee on WhatsApp with a branded template and tracking deep link, and by email via the Trigger Email pipeline. Sellers enable WhatsApp per order. SMS-grade alerts are part of the same communication layer for buyers who are not on WhatsApp.

KYC and Onboarding

A stepped onboarding flow verifies PAN, Aadhaar (OTP), GSTIN, bank account, and UPI, then captures company profile, settlement bank, and service agreement. Incomplete KYC blocks booking so the network stays compliant.

Admin Network Console

Platform operators manage courier accounts, service SKUs, default and custom rate cards for B2C and B2B, seller KYC and tier assignment, sales staff, weight uploads, shipping profit imports, coupons, and network-wide billing.

Also included

Channel Integrations

WooCommerce orders sync into the seller order book and status writes back when a shipment is delivered, cancelled, or returned. Shopify onboarding is available as a first-class channel so storefronts do not double-enter orders.

Role-Based Team Access

Sellers invite employees with a permission list covering dashboard, orders, shipments, track, billing, NDR, weight, rate cards, warehouses, and settings. Credentials are provisioned in Firebase Auth and the teammate works inside the seller’s account, not a shared login.

Sales Workspace

Salespeople see assigned sellers, shipment health, and a call log so onboarding and account management stay inside the product instead of a separate CRM.

Labels, Tracking, and Public Documents

Booked shipments produce printable A4 labels with barcode and QR that open a public tracking page. Invoices and tax invoices are shareable URLs with QR, suitable for finance and buyers.

Rate Calculator and Pincode Tools

Authenticated calculators and the marketing-site tools quote B2C and B2B rates, check serviceability, and compute volumetric weight so sellers and prospects can price before they pack.

Seller API and Webhooks

External systems create orders with an API key that checks KYC and minimum wallet balance. Carrier webhooks, including SmartShip, land in a durable webhook log so inbound status is never a lost HTTP call.

Helpdesk and Reporting

In-product tickets sit next to shipment and order reports, COD reports, and courier-wise analytics so support and leadership use the same numbers operations already trusts.

Shipment Insurance

Sellers can attach coverage to high-value consignments so a lost or damaged parcel has a claims path instead of an informal write-off.

Gallery

Product surfaces

Visual placeholders mark where final screens and captures will live. Drop assets at the paths shown on each tile.

Engineering

How it's built

The browser never owns courier or KYC secrets. Authenticated Next.js consoles read and write Firestore under seller-scoped paths. Creating an order is a client write; booking a shipment calls a Route Handler that talks to a courier, then writes the AWB document. That write wakes Cloud Functions: a public tracking copy is published, freight and COD ledger rows are posted, and an immediate track pull runs for most carriers. Every five minutes a scheduler fans out per-seller sync events onto a Cloud Tasks queue so each open AWB is re-tracked with backoff. Status changes append history, may debit RTO or reverse freight, confirm COD, notify WhatsApp and email, and update WooCommerce. Wallet totals are maintained by transactions on shipping_charges, wallet_history, invoices, and remittance documents so the statement is derived, not edited by hand. Admin, salesperson, and employee apps are the same architecture with different query scopes and permission lists.

event-drivenmulti-tenantAPI-driven courier edgerealtime operations UIledger-based finance

Decision

Firestore as system of record with Functions as the only writer of financial side effects

Sellers need instant lists and live dashboards, but freight and COD cannot be computed in the browser.

Realtime UX and an auditable ledger in the same product, without dual-writing from the client.

Decision

Normalize every carrier into one status contract

Each courier speaks a different dialect. Charges, NDR, WhatsApp, and channel write-back all key off statusCode.

New carriers plug in at the adapter, not across every screen.

Decision

Queue per-AWB tracking instead of a monolithic cron

A global five-minute sync can cover thousands of open shipments and will trip rate limits if run inline.

Controlled concurrency, retries, and a function that stays within time and quota.

Stack

ShipX is a Firebase-native SaaS. The Next.js seller, admin, employee, and salesperson apps write to Firestore as the system of record. Cloud Functions react to those writes for tracking, ledgers, Auth user creation, and notifications. Next.js Route Handlers proxy courier, KYC, and Paytm APIs so secrets never sit in the browser. The marketing site is a separate Next.js surface with a designed motion system. The stack is chosen so real-time operations UIs and financial side effects stay consistent without a custom application server in the critical path.

Next.js 14 (App Router)React 18 and SWRMaterial UI and Tailwind CSSMarketing Next.js site (styled-components, GSAP, Framer Motion)Firebase Cloud Functions (v2)Next.js Route HandlersCourier adapter layerCloud FirestoreFirebase Realtime DatabaseCloud StorageFirebase (Authentication, Hosting, Functions, Emulators)Google Cloud Tasks (Functions task queues)Firebase AuthenticationKYC verification APIsAPI keys and webhook authenticationDomestic courier networksPaytm Payment GatewayWhatsApp Business Cloud API
Process

From brief to shipped product

  1. 01Discovery

    Mapped the Indian aggregator job-to-be-done: quote, book, track, recover, remit, and reconcile. Interviewed the surfaces a real aggregator needs — seller, staff, sales, admin — and the courier behaviors that break naive booking apps (NDR, RTO, weight bills, COD).

  2. 02Design

    Built a four-workspace information architecture with a seller dashboard as the daily home. Brand is ShipEx green (#00c27c) with Manrope and Roc Grotesk on the marketing site and Inter in the consoles. Forms are steppers (order, KYC, B2B) so high-stakes flows stay linear.

  3. 03Development

    Implemented the Next.js consoles against Firestore, Route Handlers for privileged HTTP, and Cloud Functions for ledgers, sync, notifications, and identity. Status maps and courier adapters were treated as a product boundary from the start.

  4. 04Testing

    Domain logic — zone classification, serviceability matching, and status maps — is unit-tested. Functions run in the Firebase emulator suite so wallet and tracking triggers can be exercised without touching production carriers.

  5. 05Launch

    Shipped a public marketing site, authenticated consoles, Paytm wallet top-up, KYC gate, and live courier booking. Public tracking and invoice URLs make the product usable by buyers and finance, not only by the seller who booked.

Challenges

Hard problems, clear outcomes

Nine carriers, one operational language

Problem

Each courier returns different status strings, codes, and payloads. A dashboard, a WhatsApp template, a COD confirmation, and a WooCommerce write-back cannot each special-case Delhivery versus Xpressbees.

Approach

We built per-carrier track and serviceability adapters plus explicit status maps that emit a single status, statusCode, and statusType. Downstream features subscribe only to that contract.

Outcome

Operations, finance, and notifications stay aligned when a new carrier is added, and sellers see one timeline per AWB.

Money that must match the shipment

Problem

Freight, COD fee, RTO, cancellation reversal, excess weight, and WhatsApp charges all hit the same wallet. A naive increment on the shipment document would drift.

Approach

Every rupee is a ledger document. Cloud Functions transactionalize shipping_charges, wallet_history, invoices, and remittance into statement totals. Recharges confirm only after Paytm status matches amount.

Outcome

The wallet is a derived statement. Finance can explain every debit without reconstructing history from courier invoices.

Tracking at network scale

Problem

Open shipments across all sellers cannot be tracked in one function run, and courier APIs punish bursts.

Approach

A five-minute scheduler writes a global sync event, fans out per seller, and enqueues each AWB on a task queue with staggered delay, retry, and concurrency limits.

Outcome

The network stays current without a thundering herd, and a single AWB can still be synced on demand from the UI.

Multi-sided access without shared passwords

Problem

Warehouse staff, sales, and platform admins all need into seller data, but not as the owner.

Approach

Firebase Auth users are created from employee and salesperson requests. Employees carry a permission list; salespeople see assigned sellers; admins query collection groups.

Outcome

A real org chart inside the product: owner, staff, sales, operator — each with a workspace that matches the job.

Onboarding that is strict enough for COD

Problem

An aggregator that remits cash on delivery cannot let an anonymous account book.

Approach

A multi-step KYC — identity, company, bank, agreement — backed by PAN, Aadhaar, GSTIN, bank, and UPI verification APIs, with booking blocked until complete.

Outcome

The wallet and remittance rails sit on verified businesses, which is what carriers and finance require.

Proof

What this work proves

ShipX concentrates the full aggregator workflow — quote, book, track, recover, remit, and reconcile — into one product sellers will pay a wallet balance to use. Courier complexity is hidden, money is ledgible, and four kinds of users can work the same network without sharing credentials. The public site, calculators, and tracking pages make the brand usable before login. That is the commercial shape of a logistics SaaS, not a booking widget.

Multi-tenant SaaS product designEvent-driven Cloud Functions architectureMulti-vendor API aggregationRealtime operations dashboardsLedger-based wallet and COD financeRole-based access across four workspacesKYC and payments compliance flowsMarketing site plus authenticated product familyDocument generation for labels and invoicesChannel and webhook integration

What's next

Predictive NDR and RTO scoring

Score addresses and SKUs for delivery risk before booking so sellers can require prepaid, buy insurance, or pick a higher-reliability courier on the same rate card they already use.

Deeper marketplace channels

Extend the WooCommerce and Shopify pattern to Amazon, Flipkart, and more carts so the order book remains the single fulfillment inbox.

Native iOS and Android companion

Give warehouse and delivery-coordination staff a mobile surface for pickup, label reprint, and NDR action without opening the desktop console.

Have something in mind?

Tell us about your product and we'll help you ship something worth putting on this page.

→Start a project