Things I did and what's next.

Bonjour / Hi.

I haven’t been writing much lately. In a sea of AI slop, I’ve found myself wondering whether people still bother reading things or just ask their favourite LLM for a summary. Don’t get me wrong, I find these tools incredibly useful, but today I wanted this post to feel genuine. I’m writing it with my bare hands and my own brain (sounds like something an AI would say). This is going to be an unusual post. No code, no technical dive, just a short essay on what I’ve been doing and where I’m headed next. I feel like my career is taking a turn, and I found myself at the beginning again.

Background

I’ve spent years learning and building web applications. I started with WordPress in the early 2010s…well, actually, before that, I was creating gaming forums using phpBB. Next, I focused on CakePHP, jQuery and the first client-side frameworks like Ember and Backbone. I then transitioned to more modern tools like React. I have loved building web apps and crafting good user experiences, but as the technologies evolved, I felt uneasy about where the industry was headed. I don’t think web development is going anywhere, but parts of what I used to love making are now being heavily commoditized.

On one hand, I like the idea of focusing on higher-level/harder problems and letting the models do the parts I disliked. On the other hand, I still liked coding and the work that went into making great user experiences. I wasn’t sure I liked where web development was headed. I didn’t want to stop building software, but I felt I needed to focus on something different.

If I was going to be replaced, I might as well understand the machine I’d give away my salary to.

Web to ML

When people get tired of development, they often fantasize about buying a farm and raising animals. I’ve thought about that too. To be honest, I think it might happen someday, but right now the change I was looking for was elsewhere.

Naturally, my first step was to start learning more about the infamous AI people keep talking about. The transformer…not Optimus Prime, but the architecture behind GPT. Oh boy, was I not ready for this. So many things went over my head. It felt like I was missing a thousand years’ worth of technological discoveries.

What is this attention thing they’re talking about? Matrix multiplication? Dot products, anyone? softwax softmax what? Okay, transformers are deep neural networks… so what is a neural network, really? Linear layers, backpropagation, gradient descent, activations… oh god. I had no idea. I did not remember what a derivative was. My calculus was long forgotten, and from linear algebra, I just remembered vectors.

Like me, I think a lot of people get by in web development without needing a strong foundation in mathematics. After all, we often deal with high-level libraries hiding any underlying complexity. I never really paid attention to math in high school.

Well, I can tell you now that I regret not doing so.

So I had two choices:

  1. Give up, keep doing what I was good at and adapt to the changing landscape, hopefully.
  2. Push through the massive learning curve and keep working towards the goal of understanding how transformers work, what deep learning is, and more broadly what makes machine learning.

I chose option two.

Starting over

There are two common ways to start learning something new:

  • Top-down: start with high-level projects and gradually dive into the details and the nitty-gritty math behind it all.
  • Bottom-up: grind through the foundations and slowly build up to the more complex concepts.

Both sounded good to me, but I decided to go with the top-down approach initially as I’m more of a project-driven person.

As I alluded to in a previous post, I’ve started learning about ML with the fastai course. The course was a good fit for me because it was designed for developers who wanted to get hands-on with machine learning and deep learning. It took me a few months to finish, but then what? I needed somewhere to put what I had learned into practice, so I started tinkering with a few projects:

These projects, each in their own way, forced me to seek a deeper understanding of various aspects of ML.

I was happy with my progress, but constantly felt like I did not have a complete understanding of the underlying mathematical foundations that make these projects even possible in the first place. I kept returning to 3blue1brown and StatQuest when I needed a better intuition. Stanford’s lectures (CS230, CS231N) helped me get a better understanding of deep learning and computer vision. LLMs have been a great tool to supplement my learning by letting me ask a million questions when a concept wasn’t clicking.

Ultimately though, I think you need to get your paper and pencil and get down the trenches. It was time for me to go back to basics and learn the mathematics I was missing… well, at least the important topics relevant to ML: linear algebra, calculus, and probability theory.

I’m currently finishing up this Udemy course: Mathematical Foundations of Machine Learning. I’ve also started reading Mathematics for Machine Learning: that book is pretty intense lol. I’ve also lined up the Deep learning book.

Remember that matrix multiplication thing, that dot product, these linear layers, that softmax function…well, they now make a lot more sense. ML is like a big pyramid of piled up mathematical concepts each one building on top of the others. Once you understand where it’s coming from and how pieces fit together, it doesn’t feel as intimidating anymore.

Doing all of this alongside my full-time job at Unsplash was challenging. I looked for opportunities to work on projects that would let me apply and demonstrate the new skills I was building. Over time, that effort started to pay off and somehow, I was able to convince them that I was a good fit to transition to an ML position internally. The work itself then gave me more time to learn, because I was constantly being pushed to understand whatever I was working on.

I guess this is where I am now.

What’s next

There are like a million directions I could be pursuing, but I’ve always been fascinated by computer vision.

I think we can make really cool stuff, and bridging the gap between the digital and physical worlds is particularly exciting. I like the idea of building something that can observe the world, understand what’s happening and react to it. So on the side, I’m working on a project to enhance tabletop gaming by using computer vision to track pieces, trigger events based on their movements, and keep a record of the live game state.

Here’s a peek. Maybe one day I’ll write about this:

Implemented something to track pieces and give them stable ids. This will allow me to understand more precise movement across the board, e.g knowing if a piece got lifted and put back on the same square.


[image or embed]

— Thomas Lefebvre ( @tlbvr.com )May 30, 2026 at 3:28 PM

In addition to continue pushing forward the ML effort at Unsplash, I’ll also try to turn this project into something usable, and that’ll probably keep me busy for a little while.

I’m also eagerly waiting to play WoW Forever, and maybe I’ll see you in this new Azeroth.

I told you it would be an unusual post.

Last updated