Plan Indonesia ERP
ERP workflows for sponsored-child records, communications, forms, and feedback, with API-driven dashboards and XLSX/PDF reporting.

Overview
An internal ERP for Plan International Indonesia, built at Sawala Technology. The system supports the day-to-day work behind child sponsorship: keeping records accurate, handling communications, and reporting on operations.
My role
I worked on the front end as part of a development team.
Contributed to ERP workflows for sponsored-child records, communications, forms, and feedback.
Built API-driven dashboards with charts, filtering, and pagination for operational reporting.
Implemented XLSX and PDF exports so teams can share reports outside the system.
Architecture overview
A high-level view of the system. Staff sign in through an invitation and verification flow, then work in modules for each part of the sponsorship operation, all backed by the team’s REST API.
flowchart LR
accTitle: Plan Indonesia ERP overview
accDescr: Staff sign in to one Next.js app whose modules for sponsored children, sponsors, communications, reports, tasks, and settings run on the team’s REST API.
staff([Plan Indonesia staff]) --> auth{"Sign-in<br/>invitation and verification"}
subgraph app["Next.js front end"]
auth --> children["Sponsored children<br/>records"]
auth --> sponsors["Sponsors<br/>and history"]
auth --> comms["Communications<br/>forms, feedback, bulk downloads"]
auth --> reports["Reports<br/>dashboards, XLSX and PDF export"]
auth --> tasks["To-do list and<br/>notifications"]
auth --> settings["Settings<br/>users and locations"]
end
children & sponsors & comms & reports & tasks & settings --> api[("ERP REST API<br/>development team")]Stack
React and Next.js with TypeScript, integrated with the team's REST APIs.
Large data sets only feel simple when filtering, pagination, and exports behave predictably. That was the focus of my work here.
Next project
Boga Kreasi Indah
Front-End Developer · 2025 – Present
