Better HR (HRMS)
Designed and delivered backend features across Better HR including Expense, KPI, Permission Group, and Indonesia Payroll, then extended the platform with an AI layer: a conversational HRIS agent, AI CV extraction for candidates and employees, JD-driven talent search, and analytics over the extracted data - all while optimizing high-traffic endpoints for 100K+ concurrent users across eight countries.
Better HR needed to support multiple operational domains inside one HRMS platform without letting country-specific rules, permissions, and reporting workflows become fragmented.
- Core HR operations needed to scale across eight countries on one shared platform
- Features such as Expense, KPI, Permission Group, and Indonesia Payroll introduced very different business rules and access patterns
- Performance and data consistency mattered because these modules were used in daily business operations at large scale
Built and extended backend capabilities across the HRMS so finance, performance management, permissions, and payroll workflows could operate inside one production-ready system.
- Delivered Expense, KPI, Permission Group, and Indonesia Payroll backend flows inside the broader HRMS platform
- Improved leave approval behavior, leave setting rules, duty roster analytics, and performance dynamic rating workflows
- Expanded ATS candidate database support and strengthened Excel export/import capabilities for business operations
- Layered AI capabilities onto the same backend - a conversational agent, CV extraction, and JD-driven search - rather than building them as a separate product
Added an AI layer on top of the existing HRMS backend, deliberately built on the platform's own operations so the model worked with real HR data under the same rules as any other client.
- Conversational HRIS agent that discovers GraphQL operations at runtime and executes them, covering 48 read and 31 write operations across HR workflows
- AI CV extraction on both sides of hiring: bulk candidate intake in the ATS with automatic rating against the job, and single-employee extraction into the employee Talent tab
- Search Talent With Job Description reads a pasted or uploaded JD and fills the talent search filters automatically, replacing manual criteria entry
- Candidate and employee analytics built on the normalized fields extraction produces, so the AI work compounds into reporting rather than sitting isolated
- Scheduled background agent runs recurring HR tasks unattended using the same tool loop as the interactive agent
Made implementation decisions that favored modular backend behavior, stronger access control boundaries, and performance-aware data access for high-traffic operations.
- Applied query optimization and caching to reduce response-time pressure on dashboards and other high-traffic endpoints
- Kept permission-sensitive behavior explicit so operational access could stay safer across admin and employee workflows
- Implemented business-rule-heavy logic carefully so approval, rating, and payroll-related behavior stayed predictable in production
- Exposed AI capability through the platform's existing operations and permission boundaries instead of giving the model its own privileged data path
Accepted higher backend complexity in exchange for better maintainability, country-specific flexibility, and production reliability.
- Multi-country payroll and policy logic increased implementation complexity but kept regional behavior closer to real business needs
- More explicit permission handling added development overhead but reduced operational risk
- Performance tuning required extra effort in query and cache design, but it helped the system stay responsive at scale
- Letting an AI agent write to live HR records demanded far more guardrail work than a read-only assistant, but it made the agent genuinely useful instead of merely descriptive
The HRMS became stronger as a shared business platform, supporting multiple high-value workflows while remaining performant for large-scale usage.
- Supported 100K+ concurrent users across eight countries with query and caching improvements
- Improved business coverage across Expense, KPI, Permission Group, and Indonesia Payroll
- Strengthened the platform's ability to handle both shared HR logic and country-specific operational requirements
- Shipped AI as a working part of the product - conversational HR actions, automated CV intake, and JD-driven search - rather than a bolt-on demo
Contributed additional backend work across operational workflows, analytics, performance logic, and data-heavy business tooling within Better HR.
- Leave second approval flow and leave setting rules improvements
- Duty roster analytics and dashboard endpoint optimization
- Candidate and employee analytics surfacing workforce composition, seniority, and qualifications across the applicant pool, the workforce, and the company dashboard
- Performance dynamic rating system, ATS candidate database, and Excel export/import improvements