Life Insurance Dashboard

AJRI - 2024

Role: Tech Lead, Project Manager, Software Engineer

Tech Stacks: React TypeScript Vite Ant Design

Overview πŸ”—

Internal dashboard for life insurance policy management and claims processing. Built for AJRI (Asuransi Jiwa Reliance Indonesia) to manage the full insurance lifecycle β€” from policy creation through claims.

Role & Context πŸ”—

As Tech Lead and sole frontend engineer, I was responsible for the full frontend development β€” from architecture decisions through to production deployment. The project required extensive data visualization, complex form workflows, and tight integration with backend services.

Key Features πŸ”—

Policy Management πŸ”—

Comprehensive policy tracking with complex data tables and filtering. View, search, and manage insurance policies across their lifecycle.

Claims Processing πŸ”—

Structured claims workflows with document verification, approval routing, and status tracking.

Underwriting Workflows πŸ”—

Step-by-step underwriting forms with validation, document upload, and decision routing.

Agent Performance Metrics πŸ”—

Data visualization dashboards tracking agent productivity, sales metrics, and policy conversions.

Build Notes πŸ”—

Data-Heavy UI Patterns πŸ”—

Insurance dashboards involve dense data tables, multi-step form workflows, and approval routing β€” all areas where Ant Design’s enterprise components (tables, forms, steps) provide solid defaults. The challenge was customizing these components for insurance-specific workflows while keeping the UX approachable for non-technical staff.

API Integration πŸ”—

Centralized ky instance with auth interceptors and error handling. Each domain module (policies, claims, underwriting) has its own service layer, keeping the code organized without over-abstracting.

Development Workflow πŸ”—

Biome for linting/formatting and Vitest for unit tests were set up from the start. Commitlint enforces conventional commits across the team, keeping the git history clean for collaborative development.