The Sensitive App

ABSTRACT

Is your app really working, or just not crashing? “The Sensitive App” reports subtle bugs regardless of origin, and validates your assumptions in production so you don’t have to resort to guessing or praying. Learn how to turn your app into the first line of defense for your entire system’s health!

FULL DESCRIPTION

Many modern apps are developed in small iterations, released frequently. The promise of continuous delivery is that you learn from your mistakes quickly – but how do you actually detect your mistakes?

While crash reporting is an established tool for capturing catastrophic failures, it can miss or even distract from non-crashing bugs of all severities that degrade the user experience. These issues are then left for your customers to report, wasting everyone’s time and adding significant delay. Hence, concepts known as monitoring & observability are extending the scope of mere crash and error reporting to a holistic view of your system’s health, with automated alerting in place to let you know when anomalies arise.

At Clue, we have deployed a variety of techniques to make our app “sensitive” to all kinds of unexpected situations and broken assumptions. This approach has shown great success, as the iOS app is now a key indicator for our overall system health, often reporting backend issues with precise detail before or in parallel with our backend services’ own alerts.

To reach this state, we started by defining a few guiding principles, and then implemented those over time throughout our codebase. In parallel, we created dashboards, monitors and alerts to make the incoming data meaningful to humans, and to use it as feedback for fine-tuning our implementation. Wash, rinse, repeat…

Join me and learn about the most impactful (and fun!) helpers that brought our principles to life. Since the most powerful tools are useless when nobody wants to use them, we paid special attention to Swift ergonomics so that all our code remains idiomatic and low on boilerplate despite the added power.

You will learn about the “pray operator”, the role of our design system, how to find the right level of log volume, how to test for the unknown, how any object can transform into valuable and searchable debugging context, and how we piece it all together to what we call “The Sensitive App” – an app that doesn’t silently accept deviations, but alerts its surroundings until it’s at peace with the world again.

Share

Session info:

Speaker: Sebastian Hagedorn

Principal iOS Engineer at Clue

Date: 13 March 2026

Time: 13:30 - 14:15

Relevant tags:
Best practices

See all speakers

See all videos