
Building a retrieval API to search my Obsidian vault
Last Tuesday

How I use AI
Last Friday

Social media strategy for dev tools
September 11, 2025

A structured approach to Cursor vibe coding
May 20, 2025

A shoutout to the women who inspire me
March 31, 2025

Lessons from writing one blog post per day
December 28, 2024

Wrapping dependencies in a composable with Nuxt and Vue
December 24, 2024

Implementing the Dependency Injection pattern in Vue 3
January 21, 2025

Launching my Developer Experience consulting business
December 19, 2024

UX review: Netflix empty search results
December 18, 2024

React vs Vue: conditional styling
December 16, 2024

Why Taiwan, why now?
December 15, 2024

Simple UX: transforming social links into sharing buttons
December 14, 2024

Implementing repository pattern with Vue composables
December 13, 2024

Applying a transformation to all object properties in TypeScript
December 12, 2024

Learning to let go
December 11, 2024

Building a content navigation component in Nuxt
December 10, 2024

Writing good first drafts with Obsidian
December 9, 2024

Writing your first freelance contract
December 8, 2024

My first tech meetup in Taipei
December 7, 2024

How to enable effective communication in remote environments
December 6, 2024

How to use Vercel to configure DNS records for OVH emails
December 5, 2024

Where attention leads
December 4, 2024

Why we should add context when sharing links
July 29, 2024

2023 in 12 pictures
January 5, 2024

How to setup Storybook for Nuxt 3 and Vite
February 10, 2023

Why League of Legends needs to step up its data game
July 2, 2022

State of Vue 2022: Amsterdam recap
June 14, 2022

How To Display TwicPics Images When Working Offline With Nuxt.js
June 2, 2022

Optimizing Side-Projects Costs With Serverless and the Jamstack
May 10, 2022

Three Things To Fit Healthy Habits in Your Gamer Lifestyle
April 10, 2022

Revenge Bedtime Procrastination Is F**king Up Your Sleep Schedule
March 27, 2022

Video Games Were My Creative Hobby
March 13, 2022
Get ready for the VCT Champions with PandaScore Valorant post-game stats
November 16, 2021

Testing Firebase Functions with the emulators suite
July 5, 2021
Shut the ph**e up!
April 14, 2021

Can I really do this?
March 25, 2021
Handling schema evolution with Cloud Firestore
March 22, 2021
Quit reading
March 17, 2021

« Arrête de parler franglais ! »
March 15, 2021

Launching a recruitment platform for Classic guilds
March 11, 2021

My commitment to writing
March 10, 2021

Organiser ses raids avec Raid-Helper
August 19, 2021
Un air de déjà vu ?
September 2, 2018
Playoffs LCK : cap sur le round 1
August 14, 2018
Rift Rivals 2018 : la voie Royal
July 11, 2018
Madlife prend sa retraite
June 21, 2018
LCK 2018 : preview du Summer Split
June 11, 2018
Le dragon face aux loups
May 20, 2018
Play-In du MSI, à table !
May 10, 2018
Rox Tigers, millésime 2016
April 20, 2018
Pas de carry pour Huni
March 31, 2018
Retour à Paris : MSI 2018
March 30, 2018
NALCS Spring playoffs : les joueurs à suivre
March 23, 2018
EU LCS : comment se portent nos Frenchies ?
February 15, 2018

Overwatch League highlights: Pine's McCree
February 14, 2018

Overwatch League highlights: Fleta's Pharah
February 13, 2018
LoL Open Tour: Cap sur la Lyon Esport
January 26, 2018
Intersaison 2017 : le recrutement
January 6, 2018
L'Overwatch League dans les starting blocks
December 20, 2017
Journal de bord : SKT vs RNG
October 30, 2017
Bilan doux-amer pour l'occident
October 26, 2017
Semaine 1 : faux espoir ou faux départ ?
October 12, 2017
Worlds 2017 : focus sur Immortals
October 5, 2017
Gauntlet NA : Cloud9 de retour
September 17, 2017
Demi-finales EU : entre surprise et habitude
August 29, 2017

Brace yourselves, EU LCS playoffs are coming!
August 14, 2017
S'adapter au changement : le rôle du coach
August 12, 2017
PSG : mieux vaut tard que jamais
July 17, 2017
Fnatic de retour au sommet ?
July 6, 2017
MSI : la quête de la deuxième place ?
May 19, 2017
MSI 2017 : en route pour Rio
April 28, 2017