Completed

2021

Description

This project was created as part of a free, exploratory design phase without a specific client. The aim was to develop an innovative solution to a self-chosen topic and to try out new design approaches, interaction patterns or visual languages — free from commercial constraints and real-world limitations.

Completed

2021

Description

This project was created as part of a free, exploratory design phase without a specific client. The aim was to develop an innovative solution to a self-chosen topic and to try out new design approaches, interaction patterns or visual languages — free from commercial constraints and real-world limitations.

Designing System Logic in Early-Stage Operational Products

Case Study — Abstracted, 2026
B2B SaaS
Greenfield
Sole Designer
Budget-driven

The product was created in a start-up context without existing UX, UI or system structures. I was conceptually involved right from the start and was responsible for both the technical structure and the visual system logic. The aim was a B2B application used at high frequency to manage time-limited resources, including pricing logic, role models and operational conditions.

Abstraction

The sports club domain used here serves as an abstract visualization of a real infrastructure and resource management system.

Challenge & Problem

The central challenge was not to build a visual design system, but to model a consistent operational logic.

The product needed to:

  • clearly model limited resources (abstracted: sports halls, courts)
  • Map time allocation based on rules
  • Dynamically manage states
  • Calculate price logics automatically
  • Enforce roles and access rights across the system

UI was not a goal, but an expression of this logic. Without clear system logic, every new function would have become a potential special case — with increasing implementation costs, growing complexity, and falling speed.

Key decisions

System logic before UI

The structure of data, states, and dependencies was defined before visual decisions were made. UI components followed logic — not the other way around.

  • Resources are clearly identifiable operational units: time-limited, condition-driven and referenced across systems.
  • System states act as a central tax authority. A time slot is never “just occupied”, but is in an explicit state that determines visibility, interaction, authorization, and pricing logic.
  • Spools are structural restrictions: They define which states are allowed and which actions may exist.
  • Rates are not awarded, but calculated. They arise from time segments, type of use, role and tenant-specific rules.
A diagram which shows a state engine (trigger) which is used by resources (Operational Unit) and Authority (Constraints), and transitions into the Pricing and UI Expressions reactions.

Modular resource models and early scaling logic

The core operational structure of the product was not built around specific resource types, but around an abstract resource model. A resource was created as an operational unit from Location × time defined – supplemented by clearly defined system states and rule-based derivations. Pricing logic, role rules and usage types were not anchored in individual UI components, but placed over this model as an independent rule layer.

This did not create a feature-driven structure, but a system-driven architecture.

This understanding of resources had concrete structural consequences:

  • New resource types (abstracted e.g. tennis, squash, beach volleyball) require no new logic, just configuration
  • Price changes are controlled based on rules, not implemented visually
  • Roles act as a constraint layer, not as special case code
  • Statuses remain consistent across the system and can be interpreted across modules

Scalability was not treated as downstream optimization, but anchored as a structural design decision. Expansions based on resource type, pricing model, or role structure are made through rule adjustment – not through redesign or component-based exceptions.

The result is an operational system that can absorb complexity without fragmenting its internal logic.

Text list for an architectural resource model for halls/sports fields, consisting of Identity & Scope with Meta Data, Access Control, Audit Trail; Temporal & Operational Model with Time Model, Availability State, Booking Classification; and Commercial Logic with Customer Entitlement and Price Logic.
The model separates operational unit, state logic, and commercial rules into clearly defined system layers.

UI as an expression of system logic

Condition-controlled operating units

Diagram with flow chart showing transitions of a state carrier with green and yellow icons, including timestamps at 12 noon. It shows for instance a button component including a price that is changed to a booked state that after the booking window then becomes disabled.
Each visual unit acts as a state carrier and represents an explicit, systemically defined state.

Prices as a deterministic reaction

Input Formula for calculating the hourly rate with factors for resource type (court, hall, ...), time of day, membership, season, and optional trainer, as well as available modifiers for weekday and demand. Additionally users can create custom modifiers and get example calculations
Booking interface shows Greta Chamberlain as the booking person, and her selection of a regular booking from 12pm to 2pm with prices of 11 euros plus a more expensive noon hour of 13 euros, total 24 euros. The prices are system-controlled.
The price is derived from rule-based derivation and is calculated as a deterministic system reaction.

Roles & booking classification

User interface with two booking options for Hall 3 on 05.16; top option shows four booking types (Regular, Training, Repair, Block), bottom option shows only Regular and Training, with highlighted text 'Role Dependent'.
Roles act as a constraint layer and determine allowable states and actions across the system.

Resultierende Wirkung

Strukurelle Wirkung

Wachstum über Modell-Erweiterung statt Sonderstrukturen

Zustände bleiben systemweit interpretierbar

Rollen wirken als Constraint-Layer

Keine Fragmentierung der Kernlogik

Operativer Impact

Reduzierter Implementierungsaufwand bei neuen Modulen

Konsistente Geschäftslogik über Module hinweg

Einfache Integration tenant-spezifischer Anforderungen

Stabilere Weiterentwicklung bei wachsender Produktkomplexität

Frühe architektonische Entscheidungen bestimmten nicht nur die Oberfläche, sondern die Skalierfähigkeit des Produkts. Dadurch bleibt das System mit wachsender Komplexität stabil – ohne Re-Design, ohne Modellbruch.
Schedule a strategic conversation

Right with me

Focus on your product

A clear next step