
ARMS.
Asset and crew rostering system for Petrosea's mining operations, synced both ways with SAP.
About the project.
ARMS helps Petrosea manage heavy equipment and mining crew rosters day to day, with a web dashboard for admins, a mobile app for crews, and real-time approval messages. I designed the backend architecture from scratch in Node.js, GraphQL, and Prisma, with bidirectional SAP integration over FTP.
Challenges & decisions.
What they needed
Petrosea needed one system to track heavy equipment and manage mining crew rosters, with data flowing both ways into their SAP system.
The hard part
SAP integration ran over FTP file exchange, not a modern API. Outbound and inbound files had to be generated, parsed, and reconciled reliably; if roster or equipment data drifted from SAP, field operations would feel it.
What I built
The backend architecture from scratch: Node.js, GraphQL, and Prisma over PostgreSQL, with bidirectional SAP integration (outbound/inbound via FTP), a web dashboard for admins, a mobile app for crews, and real-time approval messages.
Where it landed
Equipment tracking and crew rostering ran day to day on the system, synced with SAP without manual re-entry.
Built with.
A look inside.

