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

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.

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.

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.

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.

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.

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.

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.
Comments
Join the discussion for this project.
Join the discussion
Sign in first, then write a comment or reply to an existing thread.
Sign in with GitHub to start a new comment. After that, this area will become active for writing.
Your GitHub identity will be used for comment attribution.