We are Tweag I/O

for composable software

Modular, simple, composable. It's the only way we have found to build fast, correct and maintainable software. Modular means that we build software as a collection of independently useful and reusable parts. We ruthlessly refactor each part to keep it focused on a single purpose, making it simple. We deliver software fast by thinking about composability left right and centre, connecting parts together from whichever direction, like train wagons. Composability lets us express arbitrarily complex behaviours with less code.

Functional, typed, immutable. These are the key technologies for composable software. We build parts as functions, because functions compose where objects do not. We use types to describe functions, because one type is worth a thousand out-of-date comments. We keep data immutable, because immutability lets us focus on the business logic holistically without getting bogged down by hundreds of corner cases.

Dec. 2013


Nov. 2015

Paris office opening

Oct. 2015-2018

Horizon 2020 SAGE participant

Sep. 2016

New Cyprus office

Jan. 2016

Awarded French "Innovating Enterprise"

Oct. 2017

Tweag UK opening


Theodora Tsentas

Operations Manager

A journalist by training, managed a media ethics think-tank and agricultural research scholarships. I keep things ticking around here.

Budgets and forecasts

Decreasing entropy in the Tweagverse

Compulsively renaming Drive folders

Mathieu Boespflug


PhD (École Polytechnique) formal methods and compiler design. Dreams distributed systems.

Banging bits in Haskell


Building factories that build factories

Stephanie Bertels

Tweag I/O Limited

Background in market research for new product innovations. MSc in International Business.

Sign things

Spreadsheet aesthetics expert

Jonas Pfenniger Chevalier

Automation Architect

Managing infrastructures with code. And a healthy dose of stubborness.




Arnaud Spiwack

Senior Architect

PhD (École Polytechnique) in homological algebra and dependent types. Core team of Coq proof assistant. Mathematician and software engineer. Wish Bear.

Torturing type systems

Solving Rubik's cube

Putting topoi in your computer

Tom Nielsen

Data Scientist

PhD (Neuroscience, UCL). Data scientist with a background in experimental and computational science. I like to invent new ways of building predictive models.

Basic Simple Functional Programming

Bayesian Probabilistic Programming

Patch clamping


Office Manager

From SF to Paris to digital nomad wannabe. Over a decade of experience running & optimizing daily business operations in the tech world. Live, learn and run!

Juggling & checking Asana tasks

Happy tech champion

Slow food ninja

Manuel Chakravarty

Functional programming evangelist

PhD (Technische Universität Berlin) concurrent functional programming & compilers. Lambda Scientist.



Compulsively checking Twitter

Eva D'hondt

Data Scientist

PhD (Radboud) in Natural Language Processing. Language engineer and data scientist. Occasional wrestler of neural networks.

Text Mining


Reducing ambiguity, one oxford comma at a time

Facundo Dominguez

Senior software engineer

MSc (Montevideo) in program fusion transformations. Software craftsman and engineer. Maintainer of Cloud Haskell. Dreams of ways to make software correct.

Bug hunting

GHC hacking

Dominic Steinitz

Applied mathematician

PhD (Kingston) Applied mathematician, statistician & functional programmer. Jack of all trades - closet differential geometer.

Data modelling


Blogging my enthusiasms

Alexander Vershilov

Senior software engineer

PhD (Saint Petersburg State) theoretical physics. Tying the knot between abstract problems and computer aided solutions. Gentoo developer.

GDB-ing Haskell


Growing a long beard and long hair

James Haydon

Software engineer

PhD (Oxford) Geometry and higher category theory. Likes trying to apply n-categories to software problems.



Drawing commutative diagrams

Nick Clarke

Software engineer

MMath (Oxford). Likes tidying codebases and writing documentation in verse. Secretly hates type classes.



Hanging upside down

Yves Parès

Software Engineer

PhD (UPMC Paris 6) medical informatics, knowledge engineering. NLP enthusiast. Cursing the typesystem when coding in Haskell and longing for it when coding in Clojure.

Functional programming

Knowledge bases, RDF and ALCUEQOBHIR+

Typing þ and ð on a QWERTY keyboard

Gaël Deest

Software Engineer

PhD (Rennes) on FPGA accelerators. Functional programming convert. Dreams of expressive tools for designing type-safe hardware.

Taming HLS design tools


Modeling programs as polyhedra

Nicolas Mattia

Software engineer

I am a system control engineer. Fast, correct and maintainable code is too important to leave it to software engineers, so I entered the fray.


Salvaging codebases

Kalman filters and PID controllers

Damien Leprovost

Software Engineer

PhD (Dijon) in communities discovery, knowledge engineering and MSc in business management. Love learning machines that learn how to learn.

Inferring Web data

Write models

Need more data

Théophane Hufschmitt

Software Engineer

Msc (École polytechnique) in programming languages theory. Grows a binary tree in his garden.


Writing Haskell in Ocaml

Writing Ocaml in Haskell

Andreas Herrmann

Software Engineer

PhD Computational physics (Fribourg, ETH Zurich). Functional programming enthusiast. Hacks Haskell for fun.



FP in C++ templates

Julian Arni

Software Engineer

BA Philosophy (Harvard). Coauthored the servant web framework.

Type-level DSLs



Matthias Meschede

Data Scientist

PhD Geophysics (IPG Paris). Passion for Science. Reduces data to color.

Data wrangling

Physical modeling

Classical music

Graham Christensen

Nix Community Leader

Taking Nix to the next level. Founder, NixOS Security Team. Author of OfBorg, the Nixpkgs continuous integration tool.


Community Management


Mark Karpov

Software Engineer

Haskell enthusiast and open source contributor. Balancing correctness with reality.



Struggling with Nix

Shao Cheng

Software Engineer

Late stage Haskell addict. Enjoys chasing buzzwords. Working on a Haskell to WebAssembly compiler.


DSLs and Compilers

Web Development

Ioanna Mavromiti

Administrative assistant