Skip to content
Jai Jhamb
All work
Logistics · 2026 · Client work at ABS Infotech

AB Logistics

Cross-platform logistics software built around real business workflows.

Expo / React Native Web · Node.js · Express · MySQL · AWS

01Problem

Transport accounting for a logistics business: consignment notes (bilty), vouchers, a day book and billing, in one app for phone and desktop.

The business ran this work by hand and across separate records. The goal was one system for all of it.

02My role

Primary developer

03What I built

  1. Users

    Three roles

    Phone and browser

  2. Cross-platform app

    Expo · React Native Web · one codebase

    REST

  3. API

    Node.js · Express · role-based access

    Shared TypeScript types

  4. Database

    MySQL

    Deployed on

  5. Cloud

    AWS Elastic Beanstalk

One app, one API and one set of shared types, deployed three different ways over the project’s life.
  • One Expo codebase for Android and the web, with TypeScript interfaces shared with the API.
  • An Express and MySQL API with three user roles, access tokens and refresh cookies.
  • Transport accounting: consignment notes, vouchers, a day book, master data and billing.
  • Deployments on Vercel with Railway, then AWS Elastic Beanstalk, plus a cPanel package.

04Engineering decisions

    • Option A

      Leave the “Sync from Tally” button

    • Option BChosen

      Remove it

    Trade-off
    Keeping it signals intent. But its backend only ever returned “not implemented”.
    Decision
    Removed it from five screens, five services and five routes.
    Why
    A button that always fails is worse than no button.
    • Option AChosen

      A shared TypeScript codebase

    • Option B

      Native apps per platform

    Trade-off
    Native per platform gives full control. One codebase ships Android, PWA and web together.
    Decision
    One shared TypeScript codebase for Android, PWA and web.
    Why
    The business logic and behaviour stay the same on every platform, and a change is made once instead of three times.

05What I learned

Software has to fit the way a business actually works, not just look right technically. And some problems only appear once a real application is in production.