
InfoByte ERP Suite
Full Enterprise Resource Planning System for Nigeria's Airspace Authority
Source code is proprietary to NAMA. Architecture and outcomes shared with permission.
The Challenge
NAMA needed a unified ERP system to replace fragmented spreadsheets and paper processes across multiple departments. The system required five integrated modules - personnel management with biometric attendance, asset tracking, payroll processing, business analytics, and pension management - all while maintaining strict data security for a federal aviation agency. The budget didn't allow for a large team, so the entire system had to be architected, built, tested, and deployed primarily by a single engineer within a 4-month timeline.

The Approach
I designed the complete entity-relationship diagram, implemented the full-stack application across all modules, and handled the entire deployment pipeline. The team included a project manager for stakeholder communication, a graphic designer for branding, and a QA tester. I architected a modular Next.js app with Prisma ORM for the data layer, BullMQ for background job processing (email notifications, payroll runs, report generation), and a custom biometric integration for attendance tracking. Each business domain (personnel, assets, payroll, analytics) is a self-contained module with its own routes, services, and database tables. The system uses SSH tunnels for secure database access in production.
System Architecture
Monorepo with five integrated modules: IBPersonnel (6k+ staff records, biometric attendance, leave workflows), IBAsset (purchase-to-disposal lifecycle, QR tagging, depreciation), IBPayroll (payslip generation, tax computation, salary distribution across banks), IBAnalytics (custom report builder, departmental KPIs, interactive dashboards), and IBPension (contribution tracking, benefit calculation, actuarial projections). All modules share a single PostgreSQL database via Prisma with BullMQ handling background jobs (email notifications, report generation, payroll batch processing). The system runs on a self-managed Linux VPS with PM2 process management, SSH tunnel access to the database, and automated deployment via shell scripts.
System architecture overview

Built For
HR administrators, department heads, and payroll officers at a Nigerian federal aviation agency (NAMA) - non-technical government employees who previously managed everything through paper forms, Excel spreadsheets, and manual filing systems. The system needed to be intuitive enough for users with minimal computer literacy while handling complex workflows like biometric attendance, HMO enrollment, and multi-department leave approvals.
Design Decisions
How do you architect a 5-module ERP as a solo engineer?
Ruthless modularization. Each business domain (IBPersonnel, IBAsset, IBPayroll, IBAnalytics) is a self-contained module with its own routes, services, and database tables. This means you can build and test one module at a time, and modules don't break each other. Shared infrastructure (auth, notifications, reporting) lives in a common layer.
Why Next.js over a traditional SPA?
The system needed server-side data fetching for security (no exposed API endpoints for sensitive federal employee data), server actions for form mutations, and the App Router's layout system for a complex dashboard hierarchy with nested routes across 5 modules.
Why build custom instead of using Odoo/SAP?
Off-the-shelf ERP systems come with enormous complexity for general cases. A custom build, tailored to NAMA's specific workflows and Nigerian regulatory requirements, delivered a leaner system that staff could actually use without weeks of training.
Why BullMQ instead of simple cron jobs?
Email notifications, payroll processing, report generation, and biometric sync are long-running tasks that can't block the request cycle. BullMQ gives us reliable job queues with retry logic, dead letter queues, and real-time monitoring - critical for a system where missed payroll notifications have real consequences.
Why a custom biometric integration?
The biometric hardware vendor provided a .NET SDK. I built a bridge service that communicates between the Next.js app and the fingerprint scanner via a local proxy, enabling web-based biometric attendance without browser plugins.

The Team
Lead Developer & UI Engineer
All coding, architecture, UI/UX design, and deployment (Akande Simpa) - developed all modules except IBPension
Project Manager
Stakeholder communication, requirements gathering, sprint planning
Graphic Designer
Branding, iconography, print materials
QA Tester
Manual testing, bug reporting, user acceptance testing
Tech Stack
Outcomes & Impact
- Delivered a 5-module ERP suite: IBPersonnel, IBAsset, IBPayroll, IBAnalytics, IBPension
- Replaced 5+ fragmented spreadsheet systems with a single unified platform
- Combined biometric attendance + IBPayroll controls reduced payroll/time fraud exposure by an estimated 40%
- Automated HMO enrollment and leave workflows saved ~20 hours/week of HR time
- Complete ERD design with proper normalization and referential integrity across all modules
- Deployed to a self-managed VPS with PM2 process management, SSH tunnels, and zero-downtime updates


💬 Behind the Scenes
“Building software for a federal agency means navigating bureaucracy that would make Kafka blush. Being the "principal engineer" sounds prestigious until you realize it also means being the principal debugger, principal DevOps engineer, and principal person-who-gets-called-at-2am. But the best part? Seeing department heads - who'd been doing everything on paper for decades - light up when they realized they could approve leave requests from their phone.”