Zuriga T2 mit App

ZURIGA

Espresso profiling without a touchscreen

ZURIGA designs, develops and builds espresso machines in its own manufactory in Zurich. For its latest machine, the ZURIGA T2, the company went against the trend and decided not to build in a touchscreen. Instead, it relies on an app that we designed together and developed with Kotlin Multiplatform for iOS and Android.

An app instead of a touchscreen

The app is not an add-on to the machine; it is its detailed user interface. A built-in touchscreen would age faster than the mechanics, which are designed to last for decades, whereas the app continues to evolve independently of the hardware.

The essential functions remain on the machine itself: coffee and steam are started and stopped there and nowhere else. Detailed brewing parameters, measurement curves, explanations and settings are shown in the app, which connects to the machine via Bluetooth on iOS and Android. Every detail can be adjusted, from temperature to professional pressure and flow profiling.

Anyone who does not yet own a machine can start a full demo mode with a simulated machine from the connection step, including profiles, virtual shots and the live curve.

Brew profiles with pressure and flow profiling

The first tab shows the connected machine and the brew profiles as cards to swipe through. Starting from easy-to-understand presets, pressure, flow, brewing temperature, brew ratio, Puck Saturation and the different phases of pre-infusion can be adjusted to suit personal taste.

Up to five profiles are stored directly on the machine. Each profile has an abstract symbol that appears identically in the app and on the machine's dot display. This means a profile can be selected directly on the machine without the app, and other people or smartphones can access the same profiles.

Zuriga App Cockpit
First tab: overview of the brew profiles.

Extraction as a live curve

The live curve appears as a full-screen overlay as soon as the machine starts brewing. During extraction, time, weight in the cup, pressure and flow run along as large figures, while the curves are drawn below, second by second. You can see how the pressure builds, when pre-infusion ends and how the flow responds. Twenty-five seconds that would otherwise simply pass by become a readable sequence.

The live curve appears as soon as the app is open and the machine is brewing.

Target versus actual in the Brew History

The Brew History records the last ten shots, each with the profile used, the target and actual values and the complete measurement curve. The data is stored on the machine and synchronised when the app connects.

This puts target and actual values side by side. A profile aims for 40 grams, but 36 ended up in the cup: that could be down to the beans, the grind size or the tamping in the portafilter. Seeing the difference makes it possible to pin it down and adjust one variable next time instead of several at once.

Brew Histroy
Second tab: Brew History of previous shots.

Each entry can be opened to show the curve of that shot, exactly as it appeared during brewing. Yesterday morning's espresso remains traceable second by second and can be compared with today's.

This is more than statistics. Coffee is a living product: beans change over the weeks after roasting, and every new bag calls for a different setting. Comparing shots reveals a pattern rather than chance.

Settings with a digital dial

Everything that would hardly fit on a machine without a touchscreen is found here: brewing temperature, cup warmer, standby time, lighting and water hardness. Many of these settings can in principle also be made on the machine's dot display. The app makes them more accessible and explains them where the limited alphanumeric display reaches its limits.

Values are set with a digital dial that takes up the design language and feel of ZURIGA's products. Its haptic feedback is deliberately reminiscent of the machine's physical dial. Settings are explicitly confirmed or discarded; nothing changes silently.

Zuriga App Settings
Third tab: settings.

The digital maintenance log records descaling and degreasing. The water hardness setting allows maintenance tips tailored to the water actually used.

A shared design language

The UI design follows the same principles as the machine. Swiss design in the strict sense: clear typography, generous spacing, plenty of white space, a restrained colour palette and no decoration. Hierarchy comes from size and spacing. Colour appears only where it carries meaning. What matters are the numbers: set large, clearly structured, with minimal labels. The app feels like a high-quality measuring instrument rather than a remote control, yet it never overwhelms anyone with technology.

The machine's dot display is picked up in the app as a visual element, the profile symbols are identical in both places, and a profile change on the machine is immediately visible in the app.

Kotlin Multiplatform for iOS and Android

We took the app through to market readiness for iOS and Android from a single shared codebase. As a result, machine communication, data processing and business logic work consistently on both platforms.

Areas where iOS and Android have different requirements are implemented specifically for each platform: in particular the connection to the respective Bluetooth systems and the integration with each platform's interaction conventions.

Bluetooth Low Energy as the technical backbone

The app and the machine communicate via Bluetooth Low Energy. The same connection is used to read and write settings, transmit live data, synchronise profiles and install firmware updates over the air: existing machines gain new features without having to be opened or taken to a workshop.

During a shot, the app continuously processes and visualises pressure, flow, time and cup weight. The readings have to be displayed reliably and clearly while the machine runs through its extraction phases in parallel. Communication is bidirectional: the app not only receives data but also sends settings, profiles and firmware to the machine. Changes are reconciled and then stored locally on the machine.

The Bluetooth interface has grown with every firmware version. Between March and August 2026, we integrated eight firmware releases up to version 1.0, connected new features such as the Brew History with pressure and weight curves, and made sure that the app remains compatible with older machines. Automated tests check every protocol message byte by byte. If the connection drops unnoticed, the app reconnects automatically, and profiles and settings remain available even without a connection.

Apps that talk to hardware have been part of our work for years: from DaysyDay and Teena, which receive readings from a measuring device via Bluetooth, to the wristbands of Mictic and the Apple Watch app for Uepaa.

Accessibility with VoiceOver and TalkBack

The ZURIGA app supports key accessibility features of iOS and Android. Text and values scale with the font size selected in the system without breaking the layout. When the system setting ‘Reduce Motion’ is enabled, the app skips the launch animation and shows a still image instead.

For VoiceOver and TalkBack, controls and icons have clear labels, while purely decorative images are deliberately excluded. Interactive elements correctly communicate their function to assistive technologies, switches for example as toggle elements. During a shot, the app announces time, weight, pressure and flow as a live region and updates them whenever they change.

Credits

Our services: UX and Design (together with ZURIGA), iOS and Android software development
Customer: ZURIGA AG
Platforms: iOS, Android
Framework: Kotlin Multiplatform