Thomas,
Product × Eng.

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

Bonjour / Hi. I'm a product engineer 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 and machine learning. 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.

🆕 latest stuff

Categorizing illustrations using deep learning: Part 1

2025-06-14
How I convinced Unsplash to train a custom neural network to categorize illustrations and improve search.

unsplash.com

now
Product-engineering the biggest internet’s library of freely-usable images. Acquired by Getty Images ↗.

📝 content

Benchmarking Embedding Models for Semantic Search

2025-01-02
Explore how to benchmark embedding models to optimize restaurant discovery using semantic search.

Predicting air quality using deep learning

2024-06-23
Predicting air quality in Montreal, QC using deep learning.

Training a deep learning model to recognize our cat

2024-04-01
I've trained a deep learning model to recognize my cat using PyTorch and fastai.

Encode possible states in the type system

2024-03-07
Remove impossible states from your application by encoding all possible variants in the type system.

Encode errors in the type system

2024-02-28
Create more resilient software by leveraging the type system to enforce error handling.

User-Defined Type Guards aren't safe

2021-03-15
Why they aren't safe and how to design better ones.

Organizing TypeScript modules

2021-01-13
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.

How we translate Unsplash

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

🧑‍💻 projects

Flaves

2025
Create lists of your favorite places in Montreal.

Inpainting with Stable Diffusion

2024
Experimenting with inpainting Unsplash photos using Segment-Anything (SAM) and Stable Diffusion model.

/lab/aqi

2024
Predicting AQI values in Montreal, using a deep learning model.

Dali Cat-Classifier

2024
Convolutional neural network to recognize images of our cat, Dali. This is still experimental.

hrdwr-monitor

2023
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 ↗

intlc

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

ts-namespace-import-plugin

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

covid-lol-qc

2021
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.

/lab/ai-assistant

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

automat.ai

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

transitapp.com

2017
Help people move around their city by providing transit data.

crew.co

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