
RiskConnect: Uniting EHS, 5S and Kaizen in One Field Engagement Platform
Client
Küçükoğlu Holding is an automotive supplier group working in metal forming: press lines, welding and die shops. RiskConnect is live across five of the group's plants.
A production floor is a demanding environment for health and safety. It is noisy, it runs on shifts, and people work in gloves. The first person to see a hazard there is almost never someone in an office. It is the operator standing at the machine.
Challenge
Three processes existed and none of them could see the others. Health and safety lived in one place, 5S in another, and Kaizen in a spreadsheet. Three improvement streams produced on the same floor by the same people, each unaware of the rest.
The old system had aged, but it could not simply be dropped. Years of accumulated records sat inside it: users, reports, point history, award history. Moving to something new was not supposed to mean throwing that history away.
Kaizen scoring depended on who happened to handle it. How many points a suggestion was worth, who would approve it and how far up it would travel were all unclear. The same suggestion could end differently depending on whose desk it landed on.
Follow-up depended on somebody remembering. An overdue action, an unanswered evaluation, an unpaid award. None of it surfaced on its own.
Keeping people engaged was the hard part. A system that does not reward the person who files a report dies within a few months. Once the novelty passes, report volume drops and what remains is an app nobody opens.
Solution
RiskConnect is one system with three clients: a Flutter mobile app for the floor, a Vue 3 admin panel for the office, and a .NET API feeding both.
The whole platform is built around a single loop: report, action, points, reward.
Reporting from the floor
An employee signs in with a payroll number. No email address is required. The home screen carries four large cards: report a near miss, report a hazard, file a 5S entry, propose a Kaizen.
Filing a report means taking a photo, picking the hazard zone from a searchable list, and writing the description and the suggested precaution. The hazard zone list comes from the plant's own vocabulary: tandem press line, robot spot welding, die racks, sheet store. The system speaks the language of the floor.
The app was designed to be used with gloves on and read under factory lighting. Photos are optimised on the device before upload, so they still go through on a weak connection.
The action plan
Every report gets a human-readable number and follows a state machine defined in code: new, in progress, ongoing, completed. Rejection is a separate path and a reason is mandatory.
In the action plan the manager enters risk severity and likelihood, and the system calculates a risk grade in line with the standard health and safety risk matrix. The default deadline is approval plus three days. The expectation of a fast close is built into the system's own default.
The audit trail is complete: who approved and when, who completed it, who rejected it and on what grounds. Any report can be turned into a single-page PDF.
A Kaizen engine that builds its own approval chain
This is the hardest part of the project from an engineering point of view.
When a Kaizen suggestion is filed it drops to the first evaluator level. The evaluator scores it against configured criteria sets: Kaizen type, cost saving, man-hour gain, environmental impact. The resulting total decides the next level on its own. A low-impact suggestion closes at specialist level; a high-impact one climbs all the way to the general manager.
The point that matters: this mapping is not hard-coded. The score-range-to-role mapping, the approval thresholds and the approving roles are all read from the database. When the process changes, the software does not.
Once an approval is given, the criteria selections are locked as a JSON snapshot. The same approval is not asked again at later levels, and the scoring cannot be changed retroactively.
Deciding without logging into the panel
The biggest obstacle to manager engagement is usually one sentence: I will have to log into that panel again with a password.
The system generates a signed, time-limited link and emails it to the evaluator. They land directly on the relevant decision screen from the email, without a separate sign-in.
From points to rewards
Every completed report writes points to the employee who filed it. As a total crosses each hundred-point threshold an award record is created automatically. No threshold is skipped and duplicates are prevented.
The paperwork around paying those awards sits inside the system too. On the 20th of each month the periodic award report is generated automatically and emailed to the plant director. The director opens the report through a link and approves it, and the IP address and browser details are recorded for audit at the moment of approval. The approved report goes to HR automatically with an Excel attachment. On the 24th, a reminder goes out for anything still unapproved.
That calendar is built around the payroll calendar. By the same logic, deadline reminders go out at 09:00 on Monday morning, so the week opens with a list of what is still outstanding.
What management sees
The panel carries a metric set for health and safety, 5S and Kaizen separately and at the same depth: a 30-day trend, a departmental breakdown, distribution by hazard zone and risk level, the most active reporters and the critical reports still open. Detailed and summary Excel exports are available.
The panel is a PWA. It installs to a phone or a desktop, and when the network drops it serves the last fetched data from cache.
The hard parts
Migrating off the old system without losing data. Thirteen separate migration runners were written: users, reports, point history, award history and per-plant user migrations. Old images were pulled down from the previous server and moved into the new store. Because a compatibility layer was written for the old system's password encryption, employees signed in without resetting their passwords. Nobody had to tell hundreds of people across five plants that the new system was here and their password needed resetting.
An audit trail that cannot be rewritten. Every evaluation step is its own record; approved criteria are locked as a snapshot; the director's approval carries an IP record. Each report also stores the company id it was created under, so a historical report stays with the right company even if the employee moves. In an audit, the question of how a score was reached and who approved it has an answer in the system.
Consistency across three languages and three clients. Turkish, English and Slovenian, on both web and mobile. The definition data itself is multilingual too: entities such as processes and equipment carry a name field that can be translated per language.
Company isolation. A company administrator sees only their own company's data, and that constraint is applied at every layer, right down to the statistics queries. Module-level permissions are separate again: an administrator can be granted access to the health and safety, 5S and Kaizen modules individually.
Result
The platform is live across five plants and brings all three modules under one data model, one permission system and one statistics view.
In numbers: roughly 88,000 lines of source, 205 REST endpoints, 28 domain entities, 13 data migration runners, 5 scheduled jobs, 3 languages, 4 user roles and 6 module-level permission areas.
It runs on the customer's own server. The system is packaged so it carries its own runtime, and the database sits on the same infrastructure. The only required external dependencies are push notification, SMS and email services.
How the platform grew
The home screen now carries six report types. Two were added after the first four: near miss, hazard, 5S and Kaizen were joined by Ethics Line and Eagle Eye. Module-level permissions were built to anticipate exactly this kind of growth, so adding a report type does not mean touching the permission model.
Technology
.NET · MongoDB · Vue.js · Flutter · Tailwind CSS · Vite · Hangfire · Chart.js
The backend is a four-layer N-tier build: core, application, infrastructure and API. Authentication is JWT, and on the password side modern hashing sits alongside compatibility with the old system. Scheduled jobs are pinned to Istanbul time regardless of the server's own time zone.
Want to bring your floor into the process?
If you run a health and safety, 5S or continuous improvement process on paper forms or in spreadsheets, the hard part is not the mobile app. It is making the approval chain behind each report match the way your organisation actually works. We can work through that with you on the custom software development and mobile application development side.





