Back to Projects
Personal ProjectFeatured14 views

SmartSafe – EHS Hazard Reporting & Inspection Platform

SmartSafe is a web-based EHS platform designed to help companies manage hazard reporting, field inspections, patrol activities, tool inspections, safety induction, and follow-up monitoring in a more structured and centralized way.

Tech Stack

JavaScriptPWAReactTypeScriptViteJSZustandshadcnUIExpressJSNodeJSOdoo IntegrationPrismaREST APIPostgreSQLDockerNginxAzureGitHub
Project preview for SmartSafe – EHS Hazard Reporting & Inspection Platform

Goal

Solve a concrete workflow problem with a maintainable web system.

Status

Featured published project

Reading

6 min read

SmartSafe – EHS Hazard Reporting & Inspection Platform

SmartSafe is a web-based EHS (Environment, Health, and Safety) platform developed to help companies manage workplace safety activities digitally, including hazard reporting, genba inspections, work tool inspections, safety induction, and follow-up monitoring.

The system was built to make safety-related processes more structured, centralized, and easier to monitor. Instead of relying on manual documents, chat messages, or separate files, SmartSafe provides one integrated platform that can be used by operational users, administrators, and the EHS team.

One of the main goals of this project was to make the system dynamic and maintainable. Several master data modules were created so the system can continue to be used and managed by users even after my internship period ends, without requiring constant changes from the developer side.

Background

In an operational work environment, hazard reporting and safety inspections require a process that is fast, clear, and well-documented.

When safety processes are still handled manually, several issues can occur, such as difficulty tracking reports, unclear follow-up status, poorly documented inspection history, inconsistent inspection data, and lack of centralized monitoring.

SmartSafe was developed to help solve these problems by providing a digital system that supports workplace safety reporting, inspection activities, safety education, and administrative control in one platform.

Main Features

Hazard Report

The Hazard Report feature is used to record and monitor potential hazards in the workplace.

Users can submit hazard reports based on hazard category, hazard type, manpower data, district or area, description, supporting photos, and follow-up status.

Each report can be tracked through several statuses, such as Open, In Progress, Closed, and Rejected.

The system also supports hazard classifications such as Unsafe Condition, Unsafe Action, Near Miss, and Safety Observation.

Hazard Point & Leaderboard

SmartSafe includes a hazard point and leaderboard system to encourage user participation in reporting potential hazards.

Valid hazard reports can contribute to a user's points. This feature helps build a more active safety culture, where users are not only reporting issues but also contributing to workplace safety improvement.

Leaderboard
Leaderboard

Genba Inspection

The Genba Inspection feature is used to record field inspection or patrol activities.

Through this feature, users can create inspection sessions, document findings, assign a PIC, upload evidence, and monitor the follow-up progress of each finding.

This helps make field inspection activities more organized, well-documented, and easier for related teams to monitor.

Report Genba Inspection
Report Genba Inspection

Work Tool Inspection

The Work Tool Inspection feature is used to inspect work tools based on area, tool type, stock data, and inspection period.

The system can record tool conditions, the number of safe tools, the number of unsafe tools, and the overall inspection result.

This feature helps make tool inspection processes more structured and provides useful data for monitoring equipment conditions in each operational area.

Inspeksi alat kerja
Inspeksi alat kerja

Master Data Management

SmartSafe provides several master data modules to make the system more dynamic and easier to maintain by administrators.

The master data includes hazard types, manpower data, district data, education data, work tool types, and tool stock per area.

These master data modules were created so users can manage important reference data directly from the system. This makes SmartSafe more flexible because the data can be updated without changing the source code.

This approach also helps ensure that the system can still be used and maintained properly even after the initial development period or internship program ends.

Master Data
Master Data

Safety Induction

SmartSafe also provides a digital Safety Induction feature.

Administrators can manage induction materials, question banks, answer options, passing scores, and user results.

This feature helps make the safety induction process more flexible, well-documented, and easier to evaluate.

Safety Induction
Safety Induction

Question Bank

The Question Bank feature is used to manage safety induction questions dynamically.

Administrators can create, update, and organize questions and answer options based on safety education needs.

With this feature, the safety induction process can be adjusted when there are new materials, updated regulations, or different training requirements.

Bank Soal
Bank Soal

Audit Logs

SmartSafe includes an Audit Logs feature for admin users.

This feature records important user activities in the system, including login activity and other security-related actions.

Audit logs help administrators monitor system access, review user activity, and improve system accountability.

My Role

In this project, I was involved in developing the system from the backend, frontend, database, deployment, and production server configuration sides.

My main responsibilities included:

  • Designing the database structure using Prisma and PostgreSQL
  • Developing REST APIs using Express.js and TypeScript
  • Implementing authentication and role-based authorization
  • Developing hazard report, genba inspection, work tool inspection, master data, and safety induction features
  • Creating question bank and safety induction result management
  • Implementing audit logs for admin monitoring and security tracking
  • Building dashboard and admin pages using React and Vite
  • Handling file uploads for report and inspection images
  • Deploying the application using Docker, Nginx, and Ubuntu VPS
  • Configuring domain, reverse proxy, SSL, and production environment
  • Debugging and fixing issues in the production environment

Tech Stack

This project was built using React.js, Vite.js, TypeScript, Tailwind CSS, Shadcn UI, Node.js, Express.js, Prisma ORM, PostgreSQL, Docker, Nginx, Certbot, GitHub Actions, and Ubuntu VPS.

Result

SmartSafe successfully became a digital EHS system that helps the company record, monitor, and follow up on workplace safety activities in a more centralized way.

With this system, hazard reporting, genba inspections, work tool inspections, master data management, and safety induction processes became easier to monitor, better structured, and more suitable for operational and safety evaluation needs.

The system was also designed to be maintainable by users through dynamic master data, so administrators can continue managing important data without depending on the developer for every small change.

Key Takeaways

Through this project, I learned a lot about building an internal company system that focuses not only on the user interface, but also on business flow, security, database structure, maintainability, production deployment, and real operational needs.

This project also strengthened my experience in building a fullstack application that directly supports company operations and can continue to be used after the initial development phase.

Like this project if it was useful.

1

Arya Dipanegara

Personal developer website for writing, projects, short notes, and practical software work.

Stay in touch

No newsletter flow here. Email works best for project ideas, collaborations, or quick questions.

Email me

© 2026 Arya Dipanegara. All rights reserved.