Thibault Wittemberg · Mobile architect

I like figuring
things out.

I write about the systems I build, the mistakes I learn from, and the ideas that make software a little easier to live with.

Side Effect logo Side Effect / 2026

01 / A little context

This is where I keep the ideas that survive the work.

After more than two decades in software—and a long love affair with Swift—I work with teams on mobile architecture, functional programming, and the small choices that make a codebase last.

02 / The name

Why “Side Effect”?

In functional programming, a side effect is the moment code touches the outside world. I chose the name because that is where software becomes real—and where good architecture earns its keep.

03 / From the blog

Notes on building software.

View all articles
Concurrency 8 min read

Debouncing with Swift concurrency

When developing an iOS application, it is a common need to handle the frequency at which information is processed. For example, when making changes to a search field, we might want…

Concurrency 12 min read

AsyncSequence extensions

Swift 5.5 introduced structured concurrency, and with it came AsyncSequence, a new way to provide a flow of values over time. Wait, what? Isn't this what Combine is all about? From…

language 9 min read

Equatable Errors in Swift

Error is a base type in Swift that aims to represent an issue happening in the application flow; thus, it is very common to use it as an existential type that will cross the…

architecture 14 min read

A DSL for state machines in Swift

State machines are great tools to describe systems with a finite number of states. They are predictable and testable, which is something we praise for as developers. State machines…

04 / Open source & side projects

A few things I've built along the way.

Libraries, experiments, and collaborations that have shaped how I think about software.

Explore projects