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
Automated production line with an operator terminal in an industrial hall

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.

SICK AG configuration tool for industrial safety sensors and robotic systems

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

Related services

Contact

Let's talk about your project.

Send me a short note about the task, the technical context and your planned timeframe. I'll get back to you personally.

Patrick Schaub

Software Architect & Full-Stack Engineer

You talk to me directly.