Case studies

Industrial Product

UX & UI — Shift
Management Platform

UX Design UI Design Discovery Mobile OutSystems

An industrial multinational needed to digitalise the operational management of shifts and human resource allocation in a factory environment. The system had to serve two profiles with radically different needs: supervisors managing teams, shifts and certifications in real time, and operators or students booking available shifts from their phones.

The product was built in OutSystems and shipped to production.

  • Complex business logic (certifications, teams, shift codes, approvals) that could not appear as complexity in the interface
  • Two interaction paradigms in the same system: desktop for planning and management, mobile for quick actions on the floor
  • Users with very different profiles and digital literacy: experienced supervisors and occasional operators or students
  • Critical states with real consequences: cancelling a demand with workers already allocated required clear communication and error prevention
  • Discovery with supervisors: identifying pain points, current workflows and operational priorities
  • Designing flows and interactions for the web platform (desktop) and native mobile app
  • Presenting and iterating proposals with users and stakeholders
  • Defending interface decisions based on usability best practices

The project started with direct conversations with supervisors to understand how they currently managed shifts, where they lost the most time and what their highest-pressure situations were.

That input defined the design priorities: the supervisor dashboard needed to give immediate visibility of team status and open shifts; the demand creation flow had to be completable in seconds, not minutes; and the certification logic per team had to be active underneath without surfacing as complexity in the interface.

Proposals were presented to supervisors and stakeholders in iterative cycles, with adjustments based on real feedback from people who would use the system in the field.

Supervisor Hugo user story — real-time time pressure as the starting point for design decisions
Supervisor scenario — real-time time pressure as the starting point for design decisions

One of the product's strategic decisions came from the need to cover absences at scale. Instead of supervisors contacting individual substitutes, a pool mechanism was designed: external workers and students register on the platform with their certifications, and when a supervisor creates a demand, the request is sent automatically to all registered workers with matching specialities. The first to accept is allocated. This eliminated manual contact dependency and made absence coverage predictable and auditable.

The web interface hides the certification logic behind filters and colour-coding — visible only where needed. The mobile app reduces the operator's entire workflow to: see available shifts, view details, book, confirm.

Web platform

The Supervisor Interface

The product's central flow is creating a shift demand: the supervisor identifies a need, configures the parameters and makes the shift available to certified workers. The interface had to make that process immediate, even with multiple variables at once.

Initial schedule state with no demands created — primary action visible and accessible
Initial schedule state — no demands created, primary action visible and accessible
After creating the first demand — shift available for team 20:C with slot and time visible
After creating the first demand — shift available for team 20:C with slot and time visible
Two demands created simultaneously — immediate visibility of coverage status by day and team
Two demands created simultaneously — immediate visibility of coverage status by day and team
Demand edit form — team licence, slots, schedule and extension to other supervisors on a single screen
Demand edit form — team licence, slots, schedule and cross-supervisor extension on a single screen without cognitive overload
Closed filter panel with option to save the selection
Filter panel — save selection option for supervisors with recurring patterns
Filter by licence with colour coding per team — certification logic made visible only where it is needed
Filter by licence with team colour coding — certification visible only where it is needed
Deletion confirmation modal — direct language, destructive action in red, safe action on the left
Deletion confirmation modal — direct language, destructive action in red, safe action on the left

Mobile app

The Operator Interface

The app was designed for a completely different usage context: an operator or student browsing available shifts, booking and receiving confirmation — all without any supervisor intervention.

Operator Connor scenario — student booking extra shifts, with motivation and availability context
Operator scenario — student booking extra shifts, with motivation and availability context
Dashboard with no scheduled shifts — empty state with available shifts visible immediately below
Empty state — available shifts visible immediately below the empty state
Dashboard with confirmed shift — priority information in the hero, secondary context below
Dashboard with confirmed shift — priority information in the hero, secondary context below
Push notification for available shift — system acting outside the app to reduce response time
Available shift notification — system acting outside the app to reduce response time
Weekly view of available shifts — period quota visible to guide the decision
Weekly view of available shifts — period quota visible to guide the decision
Shift detail before booking — all information needed for the decision on a single screen, single CTA
Shift detail — all information needed on a single screen, single CTA
Contextual feedback after booking — non-intrusive confirmation that does not interrupt the flow
Contextual feedback after booking — non-intrusive confirmation that does not interrupt the flow
  • Product shipped to production with two distinct but coherent touchpoints
  • Complex operational logic translated into flows that require no training to use
  • Pool mechanism eliminated manual contacts and made absence coverage predictable and auditable