Loan Origination and Management System
Reliance Finance internal dashboard and customer platform for lending services. - 2023
Role: Tech Lead, Project Manager, Software Engineer
Tech Stacks: React TypeScript Vite Ant Design SWR
Overview
A dual-purpose platform for Reliance Finance: an internal dashboard for loan officers and a customer-facing portal for loan applicants. Covers the entire lending lifecycle — from application intake through approval, disbursement, and repayment tracking.
Role & Context
As founding engineer and Tech Lead, I built the frontend from scratch — handling everything from requirements gathering to production deployment. I also managed a small team of engineers and coordinated directly with stakeholders.
Key Features
Application Intake
Multi-step loan application forms with document upload, validation, and real-time status tracking.
Approval Workflows
Configurable approval routing with role-based access controls and status tracking.
Credit Scoring Integration
Real-time integration with backend credit scoring services for risk assessment.
Data Tables & Reporting
Complex data tables with filtering, sorting, and export for loan portfolio management.
Customer Portal
External-facing interface for applicants to check loan status, upload documents, and view repayment schedules.
Build Notes
Data Fetching Strategy
SWR handles all API data fetching with caching and revalidation. This was particularly useful for lending workflows where loan status changes frequently — officers need to see up-to-date information without manually refreshing the page, but also shouldn’t hammer the backend with unnecessary requests.
Dual Audience
The platform serves two distinct audiences: internal loan officers who need complex workflows, data tables, and approval tools, and external applicants who need a simple, guided experience. Each audience gets its own interface layer while sharing the same API contracts and validation logic.
Monorepo Considerations
With only two frontend targets (dashboard and customer portal) sharing similar patterns, a full monorepo setup wasn’t justified. Instead, shared component patterns are documented and replicated across both codebases.