POV: software developer
at work.

A portrait of myself
Photo by Virginie-Sankara Cantin-Diarra

Bonjour / Hi. Thomas here. I'm a software developer living in Montreal, Canada. I focus on bringing products to life, bridging product ownership and engineering. I have helped a handful of startups get acquired.

I'm also a great enthusiast of functional programming. Constantly learning ways to get better understanding of functional paradigms, I leverage them to solve meaningful business problems. I won't be able to fix your printer.

On the side you'll find me taking pictures, nursing my plants and playing video games. I'm also a bearer of Tinnitus. I even took a photo of a bear that became famous on Unsplash and was published . You can learn a bit more about me reading this post .

I'm currently working with the folks at Unsplash and create the future of open photography. Formely at Crew, Transit, Automat.

📨reach out



The internet’s source of freely-usable images. Powered by creators everywhere. Acquired by Getty Images ↗.


Monitor your computer hardware sensors using a web-based reactive UI.
Based on some of my previous work when I was researching an AI assistant animation Github ↗


Solve localization in softwares by compiling ICU messages into code. Type safe, no runtime, open source. Made with the folks at Unsplash ↗ .


TypeScript plugin to auto import common namespaces into your modules ↗ .


Some of us here in QC, Canada think our premier can make questionable decisions over the pandemic. I thought we could all use a good laugh while we're all stuck at home.


Experimenting with canvas and SVG animations. Configure your own AI assistant's avatar.


2017 - 2020
Design your conversational marketing bot and deploy it on platforms such as Facebook Messenger and Slack. Acquired by Salesfloor ↗.


Help people move around their city by providing transit data.


2014 - 2017
Crew was a digital marketplace that was matching project owners and freelancers together. Acquired by Dribbble ↗.


Encode errors in the type system

Create more resilient software by leveraging the type system to enforce error handling.

How we translate Unsplash

I met with Nick Taylor to talk about the internals of internationalization and localization at Unsplash.

User-defined type guards are not safe

I wrote this post to explain why I think user-defined type guards can be unsafe and how to write safer alternatives.

Organizing TypeScript modules

TypeScript supports different ways of importing values into another module. One of the way we're going to talk about here is the namespace import syntax.