Risk Evaluation Platform

Full-Stack Developer2025
Stable
Next.jsNestJSMySQLBullMQLeaflet

This platform was built for NAKA Electronica, a company in Chile that runs operational risk assessments on industrial machinery. Before the platform, evaluations were done with paper forms and spreadsheets -- inconsistent, easy to skip steps, and slow to produce the formatted reports clients expected.

The system

Two main parts: a Next.js frontend handling evaluation workflows and visualization, and a NestJS backend with MySQL managing the domain model.

Domain model
Client
└── Plant
    └── Machine
        └── Hazard Zone
            ├── Danger definitions
            ├── Risk sections (ISO-linked)
            ├── Control measures
            └── Evaluation
                ├── Weighted scores per category
                ├── Intervention recommendations
                └── Generated PDF report

Evaluation workflow

An evaluator selects a plant and its machines, then works through assessment sections defined by risk categories and ISO standards. Each section has weighted scoring. The platform enforces completion order -- you can't skip sections or submit partial evaluations.

When an assessment finishes, the system generates a PDF report with risk scores, identified hazards, recommended control measures, and compliance status.

Risk map

The frontend includes a geographic risk map built with Leaflet. Plant locations display color-coded risk indicators, giving NAKA's team a spatial view of where their highest-risk clients are. Dashboards built with Recharts track how risk scores evolve across evaluations over time.

Technical details

  • Frontend: Next.js with TanStack Query, Leaflet + react-leaflet, Recharts, Headless UI, Tailwind. An earlier iteration was built with Vite, React, and MUI.
  • Backend: NestJS 11, TypeORM, MySQL, BullMQ for background jobs, JWT/Passport auth, Swagger docs
  • Reports: PDFKit for automated report generation, Archiver for batch exports, AWS S3 for storage
  • Background processing: BullMQ handles heavier operations like report generation and batch evaluations
The platform replaced paper-and-spreadsheet processes with something auditable and consistent. Every evaluation follows the same structure, reports generate automatically, and there's a clear record tied to specific equipment and dates.