Digital Logbook: operations software for ETP and STP plants
A production logbook for industrial water treatment — shift operations, rounds, sampling, maintenance and alerts for effluent and sewage treatment plants.
- Role
- Full-stack developer
- Employer
- Ecologic Engineering
- Status
- In production
- Stack
- React, NestJS, Prisma, PostgreSQL
Overview
Effluent treatment plants (ETPs) and sewage treatment plants (STPs) run in shifts. Operators take readings on rounds, collect samples for the lab, report equipment issues and hand over to the next shift.
Digital Logbook moves those records into one system, with role-based access for operators, lab staff and administrators. It covers shift sessions and handovers, operator rounds and process logs, sampling plans and a lab queue, issues and maintenance tickets, equipment and preventive maintenance, inventory, compliance exceptions, and reports.
The problem
A plant’s logbook is also its compliance record. When a sampling window is missed or preventive maintenance slips, the people responsible need to know while there’s still time to act — and the record has to show what happened on each shift.
What I built
- Alerting: alert rules and notifications by email and web push, including an alert when a scheduled sampling window is missed.
- The Asset Definition Studio, an admin tool for defining equipment templates — reading parameters, lifecycle states, physical asset instances, duty/standby interlock groups, alert-rule triggers and preventive-maintenance plans.
- STP operations screens and shift-operation workflows across the React app and the NestJS API.
Architecture
A React client, with a service worker for push notifications, talks to a NestJS API that handles JWT authentication, role-based access control, request throttling, scheduled jobs and OpenAPI (Swagger) documentation. Data lives in PostgreSQL, accessed through Prisma; notifications go out by email and web push.
-
Clients
Operator web appReact · service workerAdmin & lab viewsDefinition Studio · lab queue -
API
NestJS APIJWT · RBAC · throttlingScheduled jobsSampling windows · alerts -
Data & alerts
PostgreSQLPrisma ORMNotificationsEmail · web push
- Shift start
- Rounds & readings
- Sampling
- Handover
Engineering decisions
- Equipment as data. Assets are defined from templates with typed reading parameters, so a new plant or piece of equipment is configured rather than coded.
- Scheduled checks for time-bound work. Scheduled jobs watch sampling windows and raise an alert when a sample is missed, instead of relying on someone to notice.
- Alerts that reach people off-screen. Email and web-push notifications mean an operator or supervisor doesn’t have to be watching a dashboard to see a problem.
Evidence and status
Digital Logbook is in production. The codebase is private to Ecologic Engineering; its test suite runs on Vitest.
I can walk through the alerting design, the asset model and the shift workflow in an interview.