Web Tooling for Safety Sensors
Web-based configuration and diagnostic tools for industrial safety sensors and robotics – on a reusable foundation for several product and brand variants.
- Client
- SICK AG
- Industry
- Industry & IoT
- Period
- 2021–2023
- Duration
- 2 years
- Role
- Full-Stack Engineer

Context
As a Full-Stack Engineer, I worked on web-based configuration and diagnostic tools for industrial safety sensors and robotics. The technical foundation was designed to support different product and brand variants.
Challenge
The project explored and implemented ways to represent complex configuration workflows for industrial safety sensors and robotics using modern web technologies.
The domain logic included numerous parameters and interdependent states. It therefore had to be modeled deterministically, remain traceable, and support automated testing. At the same time, the technical foundation needed to serve different product and brand variants without duplicating the core logic.
Implementation
The tooling was developed as a modern web application with Angular in the frontend and NestJS in the backend. XState, a library for finite state machines, handled the complex configuration logic.
Architecture Highlights
- XState for state management: Complex configuration processes modeled as deterministic state machines, with every state and transition explicitly defined and testable
- Angular frontend: Component-based UI with reactive forms for complex sensor parameters
- NestJS + TypeORM backend: Type-safe backend with structured database access
- White-label support: Reusable technical foundation for different product and brand variants
My contribution
As a Full-Stack Engineer, I was responsible for both frontend and backend development. My primary contribution was modeling the complex configuration logic with XState.
A core part of the work was translating domain-specific configuration processes into explicit, testable state machines. This made the expected behavior of individual states and transitions transparent in the code and verifiable through automated tests.
I also contributed to the architecture of the NestJS services and implemented access to existing data sources through TypeORM.

Tech stack
The stack was designed around deterministic state logic, testability, reuse, and long-term maintainability.
- Angular
- NestJS
- Node.js
- TypeORM
- PostgreSQL
- RxJS
- XState
- TypeScript
- Docker
- GitLab CI/CD
- Three.js
- Jest
- Jira
