All projects
In production

Next Web Business

Invoicing, inventory and GST workflows for one production customer account with 50+ active sub-users.

  • React
  • Express
  • MongoDB
  • ASP.NET Core
  • QuestPDF

Business workflows with real constraints

Started in November 2025 as Billdesk, Next Web Business brings inventory, invoices, recurring billing and accounting registers into one application. Concurrent billing, tax calculations and document generation each introduce a different consistency problem.

My contribution

I co-architected and implemented voucher, inventory, contact and financial-register modules. I independently built and deployed the document service, including its authentication, request contract, template selection and integration with the ERP.

The document request crosses two runtimes

The browser requests a PDF from ASP.NET Core. That service forwards authentication and tenancy context to Express to fetch hydrated document data. QuestPDF renders the selected template and returns PDF bytes to the browser. Documents are rendered on request rather than served from a PDF cache.

  1. Browser requests document
  2. ASP.NET Core forwards context
  3. Express reads tenant-scoped MongoDB data
  4. QuestPDF renders selected template
  5. Browser receives PDF
Synchronous document rendering. Tenant scoping uses user, business and location identifiers.
Systems Architecture · WebGL Topology

Interactive 3D Distributed Systems Graph

Live 3D topology visualizing service boundaries, isolation contracts, and asynchronous document rendering pipelines.

DRAG TO ORBIT · CLICK NODE TO INSPECT
Presentation Tier

Web Client

Next.js 16 · React 19
Protocol & TransportHTTPS / WSS · 120fps GSAP
Architecture Contract

App Router RSC with client-side interactive leaves and zero-latency audio synthesis.

Click any node in 3D space to focus its technical boundary.

Keeping stock and financial totals consistent

FIFO stock consumption, voucher updates and inventory ledger entries run in MongoDB transactions. Conditional quantity checks protect stock adjustments when multiple users bill concurrently.

React gives immediate feedback with a 120 ms debounce on numeric input; Express recalculates totals before saving. Both sides apply the same GST rules: intra-state CGST/SGST splits and inter-state IGST, with HSN/SAC summaries. The server remains authoritative.

TaxationHelper.js — excerpt supplied in the project context
JavaScript
static getTaxType(sellerStateCode, placeOfSupplyStateCode) {  if (!sellerStateCode || !placeOfSupplyStateCode) return "CGST_SGST";  return sellerStateCode === placeOfSupplyStateCode ? "CGST_SGST" : "IGST";}

Production use, with a clear boundary

One production customer account uses the application with 50+ active sub-users. GST reconciliation remains manual: accountants compare registers with portal reports. This is not an automated government-portal integration. Customer records, live endpoints and private source repositories are not exposed.

Discuss this work