André Staltz

User Interface Programmer

Hi, I'm a user interface developer and designer, with extensive knowledge in reactive programming. I am obsessed with the future and I want to make it become reality today.


I come from Brazil, but have no interest in football and many other things that identify them. I'm rare. Now I live in Finland, where it's nice and cold.

I work as a Senior Web and Mobile Developer at Futurice. In the past I have been an entrepreneur and full stack developer at my own startup Iroquote, a platform for online discussion forums.

I have done programming in all kinds of fields, but I have discovered that my passion and focus is with highly interactive user interfaces. I want to make great ideas become reality, with obsessive attention to detail.

Currently, I'm enthusiastic about reactive programming, JavaScript, and functional programming. You might have read an introduction to Rx that I wrote. I have built RxMarbles, contributed to, and my current mission is to redefine how we structure and understand user interfaces with the JavaScript framework Cycle.js.

I have given talks about those topics at various conferences, check a list of my recent talks below.



I won't use SemVer patch versions anymore (2016-October)
React could love Web Components (2016-September)
Is your JavaScript function actually pure? (2016-August)
Setting up a JavaScript monorepo (2016-July)
Everywhereness as a foundation (2016-May)
Why we built xstream (2016-April)
All JS libraries should be authored in TypeScript (2016-March)
Imperative code is (too) easy to write (2016-February)
On the pains of Passive Programming (2016-February)
Adapting Controlled and Uncontrolled fields in Cycle.js (2016-February)
The reducer pattern in Cycle.js (2016-February)
Some problems with React/Redux (2016-January)
How to debug RxJS code (2015-December)
Nothing new in React and Flux except one thing (2015-November)
Rx glitches aren't actually a problem (2015-November)
Random namespacing in Cycle.js (2015-September)
Unidirectional User Interface Architectures (2015-August)
Why debugging is all about understanding (2015-August)
Why I cannot say FRP but I just did (2015-July)
Sharing best practices for Android, iOS, and Windows apps (2015-April)
Reactive MVC and the Virtual DOM (2014-November)
Android development has its own Swift (2014-July)
The introduction to Reactive Programming you've been missing (2014-July)


See the data flowing through your app (Full Stack Fest, Barcelona 2016)
Dynamics of change: why reactivity matters (PolyConf, Poznan 2016)
Unidirectional data flow architectures (At The Frontend, Copenhagen 2016)
Brains as building blocks (CycleConf, Copenhagen 2016)
Cycle.js was built to solve problems (, Helsinki 2016)
The whole future declared in a var (dotJS, Paris 2015)
Cycle.js and functional reactive user interfaces (ReactiveConf, Bratislava 2015)
How Reactive Programming can help reduce code spaghetti (MLOC.js, Budapest 2015)
What if the user were a function? (JSConf Budapest 2015)


I'm MSc in Computer Science, and for my Master's Thesis I developed HAcid, a Java client library that enables ACID transactions on HBase. In Brazil I graduated BSc in Computational Mathematics at UFMG, where I got to do research on Computational Fluid Dynamics and also Operations Research.

I started programming by making games. With my friend Glauber Kotaki I've made some games such as Cold Tension, and by myself I've made RGBlend, a color puzzle game.

I'm an acoustic guitarist and a composer. I listen to different genres, but mostly instrumental music. Check out my acoustic songs recorded on video. In 2004-2006 I recorded a progressive alternative rock/metal album called O vazio tem um nome. You can find other compositions at Soundcloud.


Staltz is just a nickname I use on the web since 2004. My real name is André Medeiros, but I try to avoid it because it's disappointingly unoriginal.