Skip to content
ANIRUDDH ATREY
QR Code - Contact Aniruddh Atrey
Founder, Product Lead & Full-Stack Engineer · 2026

CourtNetra

Independent Product — Indian LegalTech SaaS

1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 1 0 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1
01

The Challenge

India's judicial system operates across 19,660 courts — 1 Supreme Court, 25 High Courts, 688 District Courts, 18,735 Subordinate Courts, and 899 Tribunals — with 5.58 crore (55.8 million) pending cases, ~21,285 working judges, and ~20 lakh registered advocates. Each court has its own website, its own cause list format, its own hearing schedule, and often its own language. Missing a hearing means missing a client — and potentially losing a case. Existing tools are either fragmented (one platform per court system), expensive ($1000+/mo), or built for Western jurisdictions that do not understand Indian procedure, the CPC, or regional languages.

02

The Approach

Architected CourtNetra as a triple-repository multi-tenant SaaS platform: an Express.js + Prisma backend as the API layer, a Next.js 14 web frontend with CMS dashboard and client portal, and an Expo React Native mobile app for courtroom use. Built Puppeteer-based scrapers normalizing cause lists from 19,660 courts into a unified schema. Integrated Anthropic Claude for 12 AI features including case summaries, hearing prep, and document drafting. Added offline-first mobile with SQLite caching so advocates can work inside courtrooms without connectivity. All backed by Razorpay subscription billing and Meta Cloud API WhatsApp alerts — the way Indian advocates actually communicate.

Architecture

Three-Repository Architecture

A backend API, a web platform, and a mobile app — each their own repository, their own deployment, their own tech stack. Connected by REST, JWT, and a multi-tenant PostgreSQL database.

Backend

Express.js + Prisma API

Express.js 4.21 + TypeScript 5.7 + Prisma 6.4 + PostgreSQL 16. 54 backend services exposing 268 endpoints across 35 route files. JWT authentication with multi-tenant isolation. AI pipeline (Claude SDK), court scrapers (Puppeteer), Razorpay billing, WhatsApp integration (Meta Cloud API), node-cron scheduling, Nodemailer SMTP, pdfmake, Zod validation, Pino logging, Sentry monitoring, Vitest testing. Dockerized multi-stage build on port 4000.

Express.js 4.21TypeScript 5.7Prisma 6.4PostgreSQL 16JWTPuppeteer Core 24node-cron 4.2Pino 10SentryDocker
Web Frontend

Next.js 14 CMS + Client Portal

Next.js 14 + React 18 + TypeScript 5.6. 41 pages split into CMS dashboard (56 components) + client portal + Three.js landing page (25 components). FullCalendar for hearing schedules, Recharts for analytics, i18next for 8-language support (EN/HI/MR/TE/TA/KN/BN/GU), Framer Motion for animations, Tailwind CSS for styling. Magic-link client portal auth and real-time case progress tracking.

Next.js 14React 18TypeScript 5.6Tailwind CSSFramer MotionFullCalendarRechartsi18nextThree.js
Mobile App

Expo React Native (Android + iOS)

Expo 54 + React Native 0.81 + TypeScript. 37 screens + 20 reusable components organized across 9 Zustand stores and 91 service functions. Offline-first architecture with SQLite cache and background sync — advocates can use it inside courtrooms with no connectivity. Push notifications via Expo, Razorpay native SDK for in-app subscriptions, Reanimated 4 for GPU animations.

Expo 54React Native 0.81TypeScriptZustand 5SQLiteReanimated 4Expo PushRazorpay Native SDK
03

The Solution

  • Auto-fetch cause lists from 19,660 courts via Puppeteer scrapers normalizing output into unified schema
  • 12 AI features powered by Anthropic Claude: case summaries, hearing prep, document drafting, and more
  • Multi-tenant case management with full CRUD across cases, hearings, compliance, and filings
  • Client portal with magic-link authentication and real-time case progress tracking
  • Razorpay subscription billing with 4 tiers: Free, Pro, Team, Enterprise
  • WhatsApp alerts for hearing reminders and compliance deadlines via Meta Cloud API
  • Time tracking with billable hours, approval workflow, and automatic rate calculation
  • Document management with versioning, categories, and client sharing
  • Google Calendar 2-way sync + iCal feed for cross-tool interoperability
  • Full audit trail with login history, session management, and RBAC (Superadmin/Editor/Clerk/Viewer)
  • CSV/PDF/JSON export and import with smart column mapping
  • Court fee schedules, e-filing portal lookup (9 portals), and holiday calendars
Features

Feature Breakdown

Case & Court Tracking

  • Multi-tenant case CRUD (cases, hearings, compliance, filings)
  • Auto-fetch from SCI, 25 HCs, 18,735 District/Subordinate, 899 Tribunals
  • Cause list normalization across different court formats
  • Hearing calendar with FullCalendar integration
  • Compliance deadline tracker for statutory limits
  • 9 e-filing portal integrations for direct submissions

AI Features (Claude)

  • Case summary generation from filings and orders
  • Hearing preparation briefs with precedent research
  • Document drafting (petitions, applications, notices)
  • Legal research assistant for case law analysis
  • Client update drafting in multiple languages
  • 12 distinct AI features in total (powered by Claude SDK)

Client & Billing

  • Client portal with magic link authentication
  • Real-time case progress tracking for clients
  • Time tracking with billable hours and approval workflow
  • Automatic rate calculation per client / matter / lawyer
  • Razorpay subscription billing (Free / Pro / Team / Enterprise)
  • Invoice generation and payment reconciliation

Mobile (Offline-First)

  • 37 native screens across 9 Zustand state stores
  • SQLite offline cache for courtroom use without connectivity
  • Background sync when network returns
  • Expo push notifications for hearing reminders
  • Razorpay native SDK for in-app subscriptions
  • Reanimated 4 GPU-accelerated animations
Scale

Scale & Scope

3
Repositories
19,660
Courts Connected
268
API Endpoints
41
Web Pages
37
Mobile Screens
54
Backend Services
39
Prisma Models
12
AI Features
04

The Impact

0 Courts Tracked
0 Languages i18n
0 User Roles
0 E-Filing Portals

Tech Stack

Express.js 4.21 TypeScript 5.7 Prisma 6.4 PostgreSQL 16 JWT Next.js 14 React 18 Tailwind CSS Framer Motion FullCalendar Recharts i18next Three.js Expo 54 React Native 0.81 Zustand 5 SQLite Reanimated 4 Anthropic Claude SDK Puppeteer Razorpay Meta Cloud API Nodemailer node-cron Docker Sentry Pino Vitest
“Indian advocates deserve technology that speaks their language — literally. Eight languages, 19,660 courts, offline-first mobile for courtroom use, WhatsApp alerts in the way Indians actually communicate, and AI that understands the CPC. CourtNetra is not a Western legaltech product retrofitted for India. It is a triple-repository, multi-tenant SaaS built from the ground up for a country with 5.58 crore pending cases and 20 lakh advocates — the hardest legal market in the world, and the one most incumbents have given up on.”
Next Case Study Badhiya AI →