Case Study · Technical Architecture

Windzard

We designed and built four core modules of the Windzard platform — a full HRMS, a GST- and payroll-compliant Billing & Finance system, a Task & Project workspace, and an end-to-end Event Management engine — on one login, one permission model, and one source of truth.

See the visual story

System

Enterprise HR, Finance, Work & Events Platform

Services · Enterprise operations

Scope

4 production-grade modules

One data model · One role-based permission layer

Stack

19 technologies

Across 3 layers

The constraint

What the system had to solve before a line of it was designed.

Like most growing organisations, Windzard had outgrown the spreadsheet-and-point-tool stage, but every off-the-shelf product solved only one corner of the problem — and none of them talked to each other. The work was fragmented across disconnected systems. HR data lived in one place, finance in another, project work in a third, and events nowhere in particular. The boundaries between them were manual: a single employee's attendance, their approved leave, and the way both fed payroll were three separate steps in three separate tools. Access control was all-or-nothing — people either saw too much or had to ask someone else to pull a report. And the hardest requirements weren't generic at all: payroll had to be correct to Indian statutory rules, and every invoice had to stand up to GST scrutiny, including e-invoicing and e-way bills.

Architecture

The stack read top down, from what the user touches to what keeps it running in production.

Client

What the user touches — the screens, the app shell, and the state that keeps them responsive.

  • Next.js 14 (App Router)
  • React
  • TypeScript
  • Tailwind CSS
  • React Hook Form

Services & API

Business rules, authentication, background work, and every third-party system the product talks to.

  • Supabase Auth
  • JWT + bcrypt
  • Razorpay
  • Radix UI / shadcn
  • TanStack Query
  • TanStack Table
  • FullCalendar
  • dnd-kit
  • Recharts
  • ApexCharts
  • Chart.js
  • next-intl

Data

The system of record, the indexes that make it searchable, and the stores that hold everything else.

  • MongoDB
  • Mongoose

Modules delivered

Each one shipped production-grade, not as a demo surface.

  • 01HRMS — Attendance with punch-in/out, IP capture, and automatic overtime calculation
  • 02HRMS — Eight-type unified request-and-approval engine with SLA tracking
  • 03HRMS — Statutory-grade payroll (PF/ESI/PT/TDS/NPS) with optimistic-locking draft system
  • 04HRMS — On-demand generation of ten HR letter types with approve-sign-PDF workflow
  • 05HRMS — Eight-stage recruitment pipeline with scorecards and resume storage
  • 06HRMS — Granular RBAC with eight seeded roles plus unlimited custom roles
  • 07Finance — Double-entry GL with Chart of Accounts, journal entries, period locking
  • 08Finance — GST invoicing with e-invoice (IRN/QR) and e-way bill support
  • 09Finance — Bank-statement import with confidence-scored reconciliation matching
  • 10Finance — Razorpay integration (orders, refunds, recurring subscriptions, webhooks)
  • 11Finance — Multi-level approval workflows with immutable field-level audit log
  • 12Task Management — Kanban boards, projects with budgets and bill rates
  • 13Task Management — Enterprise time tracking with anomaly detection and approval workflow
  • 14Event Management — Fifteen event types, tiered pricing, waitlists, payments and check-in

Scope delivered

What the build covered, end to end.

  1. 01One data model
  2. 02One role-based permission layer

Design decisions

What we learned before building, and what the built system moved.

We started with discovery, mapping how work actually flowed through each function — HR, finance, delivery and events — rather than how an org chart said it should. That map became the module boundaries and the shared data model. Crucially, we built one data model and one role-based access layer first, so attendance, leave, payroll, finance, projects and events all reference the same users, the same roles, and the same source of truth. Every screen was designed against a single component system before it was wired to the backend, which kept the interface coherent across all four modules. Internationalisation (English and Arabic) was architected in from day one — every label flows through a translation layer rather than being retrofitted. We then delivered module by module, each one production-grade rather than a demo, so Windzard could adopt the platform in stages instead of through a risky big-bang cutover.

Windzard now runs four functions that used to need four disconnected tools on a single platform with one login and one permission model. HR, finance, project work and events were consolidated behind a single source of truth — eliminating the manual reconciliation between systems that previously consumed hours every month. Statutory-correct payroll runs that previously required days of manual spreadsheet work now complete in hours, with PF, ESI, PT, TDS and NPS handled by the engine. GST-compliant invoicing with correct tax splits, HSN/SAC codes and e-invoice/e-way-bill support removed per-invoice manual checking — invoices now go out without manual tax correction. Project-level time tracking with anomaly detection surfaces previously untracked billable work. And a self-service ticketing engine with capacity, waitlists and online payments lets Windzard run paid events end to end for the first time.