Back to Real-World Builds

RGLawz

A fully custom internal case management system built for a live, practising law firm replacing paper and WhatsApp chaos with a structured, role-based web and desktop platform.

Role: Solo Builder & Designer : full-stack architecture, database design, RBAC system, Electron desktop app, AWS S3 auto-update pipeline, UI/UX design

ReactNode.jsExpress.jsMongoDBJWTbcryptMulterElectronAWS S3
Screenshot 1 of RGLawz
Screenshot 2 of RGLawz
Screenshot 3 of RGLawz
Screenshot 4 of RGLawz
Screenshot 5 of RGLawz
Screenshot 6 of RGLawz

Overview

Law firms run on dates, documents, and client relationships. And most small firms in India manage all three through a combination of paper registers, WhatsApp messages, and memory. RGLawz is a complete internal management system built from scratch for a live New Delhi law firm, handling case registration, cause list tracking, hearing history, client accounts, bill generation, and role-based user access. Deployed simultaneously as a web app and an Electron desktop application, both always in sync, with a custom AWS S3-based auto-update system so the firm never has to manually update anything.

The Problem

A busy law firm with 200+ active cases across multiple courts has one critical operational problem: keeping track of what is happening, when, and for whom. Missing a hearing date is not an inconvenience, it can cost a client their case. Before RGLawz, the firm managed this through manual registers and informal communication. There was no searchable case database, no calendar view of upcoming hearings, no digital bill generation, and no way for staff to access case information without physically being in the office. RGLawz Case Management replaced every one of those gaps with a single, secure, always-accessible platform.

How It Was Built

The Real Problem With Running a Law Firm

A law firm is, at its core, a deadline management business. Every case has a next hearing date. Every hearing has a judge, a court room, a location, a petitioner, a defendant, and a history of previous dates. Every client has bills, documents, and account details. When you have 200+ active cases spread across the Delhi High Court and multiple district courts, the margin for error is zero, a missed hearing date is a professional and legal catastrophe.

Before RGLawz Case Management System, the firm managed this the way most small Indian law firms do: a combination of physical registers, mental memory, and WhatsApp group messages between staff. There was no way to search cases, no calendar view of upcoming hearings, no digital billing, and no access to case files outside the office.

What RGLawz Case Management Does

RGLawz is a complete internal platform with six core modules, each solving a specific operational problem:

Cases: Every case is registered with a court case number, judge name, court room, court location, petitioner, defendant, client side (petitioner or defendant), case status, and case description. Cases are fully searchable by case number, case name, petitioner, or defendant, and filterable by status and court name. 238 active cases currently in the system.

Cause List: A calendar view showing every hearing scheduled across the month. Past dates show hearings by their last hearing date. Today and future dates show upcoming hearings by next scheduled date. The firm can see at a glance that April 16th has 16 hearings, April 15th has 10, April 29th has 13, and plan accordingly. A live counter shows how many hearings need to be updated, with a single click to action them.

Hearings: A complete hearing history for every case, every date, every outcome, every note. Searchable by case number, case name, verdict, and notes. Filterable by status. Every hearing row shows edit and update actions so the timeline stays current.

Client Accounts & Client Details: Full client profiles with accounts and billing information, contact details, and case associations. Separate from the case records so client relationships are managed independently of individual cases.

Bills: Digital bill generation tied to client accounts replacing the manual billing process entirely.

Users & RBAC: Role-based access control with Admin and staff roles. Only an Admin can add, edit, or remove users. New user creation requires Admin authentication, no self-registration. Staff see what they need; Admins control everything. Password reset is admin-gated.

The Desktop App Problem And The Solution

Law firm staff are not developers. Telling them to open a browser and navigate to a URL is fine. Telling them to download a new version of an app, find the right installer, override their OS security warnings, and reinstall, that's a support nightmare that will happen every time the app is updated.

RGLawz ships as both a web app (deployed on Vercel) and an Electron desktop application for Windows (.exe) and macOS (.dmg). The desktop and web versions are identical, same codebase, same features, always in sync.

The update problem was solved with a custom AWS S3-based version management system. When the Electron app opens, it silently queries an S3 bucket: "I am running version 1.0.x. Do you have anything higher?" If a newer version exists, the app downloads and applies the update in seconds. The user sees nothing. No prompts, no installers, no IT support calls.

The first installation required manually overriding OS security warnings to allow an unsigned executable a one-time hurdle for each device. After that, every subsequent update is fully automated. The moment a new version is pushed to S3, every device in the firm is running it within minutes of next launch.

This means the firm gets the reliability of a desktop application with the maintenance simplicity of a web app. It is a pattern borrowed from professional desktop software like Slack and VS Code applied to a custom internal tool for a small law firm.

Security Architecture

The entire system sits behind JWT-based authentication. Passwords are hashed with bcrypt, no plaintext credentials anywhere in the system. File uploads (case documents, client files) are handled through Multer. The site is not publicly accessible. There is no login page exposed to search engines, no public-facing content. It is an internal tool, and it is secured like one.

Current Usage

The system is in active daily use by the firm. 238 cases registered. 40+ hearings tracked and updated monthly across the cause list. Bills generated digitally. Client accounts maintained in the system. The Electron app is installed on every machine in the office. The web version is accessible for staff working remotely.

Results & Impact

238 active cases managed across multiple courts, 40+ hearings tracked and updated monthly, deployed across web and Electron desktop with a custom AWS S3 auto-update system. Zero manual intervention required for any update across any device in the firm.