Skip to content
codemaddyResume ↗

Available for senior frontend roles

Madan Mohan.
Frontend Engineer.

React + TypeScript • 3+ years shipping fintech and enterprise platforms.

Madan Mohan — Frontend Engineer
60%
Render perf gain
AG Grid · 200K rows
0 → 90%
Test coverage
Jest + RTL migration
100+
SonarQube violations resolved
Production hardening
30%
Tech debt reduction
Legacy → React + TS

01 — About

What I do

I build performant, well-tested React interfaces — from 200K-row trading grids at Indus Valley Partners to reusable component systems at Onetick. I care about render budgets, type safety, and shipping code that other engineers can extend without fear.

  • Render-budget thinking: virtualization, memoization, and code splitting applied where they actually move the needle.
  • Type safety as a design tool, not paperwork.
  • Tests that catch real regressions, not coverage theater.

02 — Experience

Where I've shipped

Sep 2025 — Present

Onetick Technologies

Software Engineer
Noida, India
  • Contributing to Bima Sugam — a government-backed insurance distribution initiative — building the React/TypeScript front end with a strong emphasis on compliance, accessibility, and performance.
  • Designed a configurable component library with strict TypeScript interfaces — cut duplicated UI code by 25% and unblocked feature delivery across teams.
  • Built a centralized REST layer with retries, error normalization, and edge-case validation — measurably fewer regressions per release.
  • Tuned hot paths with memoization, lazy loading, and code splitting; established Jest + RTL from zero, reaching 80% coverage and a 35% drop in production defects.
  • Resolved 20+ critical SonarQube findings to harden security and maintainability.
Dec 2022 — Apr 2025

Indus Valley Partners

Associate Software Engineer
Noida, India
  • Led the legacy → React + TypeScript migration across the platform, reducing tech debt by 30% via modular components.
  • Drove Redux Toolkit adoption, cutting state-management complexity by 40%; scaled coverage from 0% to 90% with Jest/RTL.
  • Engineered a virtualized AG Grid for 200K+ row datasets — 60% render performance improvement under production load.
  • Centralized API logic via Axios interceptors, eliminating ~25% of redundant calls and standardizing error handling.
  • Closed 100+ SonarQube findings and cut code duplication by 35%.
  • Translated Figma designs into pixel-perfect responsive UIs; shipped 100+ PRs across sprint cycles on Azure Boards.

03 — Case Studies

Selected work, in depth

Real problems I've owned in production — how I framed them, what I tried, and what actually shipped.

Case study 01

PICS — real-time voice monitoring with role-scoped compliance

Problem

Facilities needed a compliant way to monitor and audit prisoner calls in real time, with strict separation between Super Admin, Admin, and Prisoner roles — and reliable reporting for regulators.

Approach
  • Architected a multi-role platform on Next.js App Router with Server Components + SSR so first paint stays fast on the low-end devices used in the field.
  • Streamed calls live over WebSockets with Twilio voice integration; every action (call, role change, export) flows through an audit log.
  • Built an RBAC engine with granular permissions behind a JWT-secured REST API, with media on AWS S3 backed by MongoDB.
  • Designed accessible analytics dashboards with Recharts — date-range filtering, per-role views, and xlsx export for compliance reporting.
Outcome

Shipped a production-ready system with end-to-end TypeScript, audited access paths, and compliance-first UX — role separation, reporting, and real-time monitoring all in one surface.

Next.js (App Router)React 19TypeScriptWebSocketsTwilioNode.jsMongoDBAWS S3Recharts
Case study 02

Rendering 200K rows without dropping a frame

Problem

Analysts at IVP needed to scroll, sort, and filter 200K+ trading records in real time. The legacy grid stalled the main thread for seconds and made bulk edits impractical.

Approach
  • Switched to AG Grid with row + column virtualization tuned to viewport height, not row count.
  • Pushed cell renderers behind React.memo and stable key generation to stop avoidable re-renders.
  • Moved derived calculations off the render path with useMemo + selector composition in Redux Toolkit.
  • Replaced eager fetches with lazy/paginated loading and deferred non-visible column hydration.
Outcome

60% improvement in interactive render performance, scrolling stayed at 60fps under full data load, and analysts could finally edit at the speed they thought.

ReactTypeScriptAG GridRedux ToolkitWebpack
Case study 03

From 0% to 90% test coverage in a live codebase

Problem

The platform had no automated tests when I joined. Every release was a vibe-check, and refactors were avoided because nothing would catch a regression.

Approach
  • Stood up Jest + React Testing Library and wired it into CI as a non-blocking signal first, then a gate.
  • Wrote tests around the highest-traffic flows before touching low-risk code, so coverage growth tracked actual confidence.
  • Built shared test utilities (render-with-providers, fixture factories) so new tests cost minutes, not hours.
  • Coached the team via PR reviews to make tests a default, not a chore.
Outcome

Reached 90% coverage with the team, unlocked safe refactors, and visibly cut the regression-bug rate per release.

JestReact Testing LibraryTypeScriptCI/CD
Case study 04

A component library that teams actually adopt

Problem

Multiple product teams were rebuilding the same buttons, modals, and form primitives — slightly differently each time. Design drift and bug duplication followed.

Approach
  • Defined strict TypeScript interfaces with discriminated unions so misuse fails at compile time, not runtime.
  • Kept the API surface small; favored composition over a wall of props.
  • Documented usage with copy-pasteable examples, not a 40-page wiki nobody reads.
  • Set up SonarQube gates and Jest snapshots so regressions in shared components surface in one PR review, not three sprints later.
Outcome

25% less duplicated UI code across teams and noticeably faster feature delivery on shared primitives.

ReactTypeScriptTailwindJestSonarQube

04 — Stack

Tools I reach for

Languages

TypeScriptJavaScript (ES6+)HTML5CSS3

Frontend

React.jsNext.jsRedux ToolkitTailwind CSSStyled ComponentsAG GridWebpackBabel

Performance

Code splittingLazy loadingMemoizationVirtualizationTree shaking

Testing & Quality

JestReact Testing LibraryComponent testingSonarQube

Backend & Data

Node.jsExpress.jsREST APIsAxiosPostgreSQLMongoDB

Tooling

GitGitHubCI/CDDockerAzure BoardsFigmaAWS (EC2, S3, IAM)

07 — Contact

Let's build something solid

Open to senior frontend roles and interesting consulting work. Drop a line — I reply within a day.