Portrait of Louis Leschevin

Hello, I'm Louis Leschevin

Freelance full-stack TypeScript developer. I help product teams build and maintain web and mobile applications, APIs and integrations.
Logo Nuxt
Logo Vue.js
Logo TypeScript
Logo AdonisJS
Logo Laravel
Logo NestJS
Logo Node.js
Logo Tailwind CSS
Logo PostgreSQL
Logo Vite
Logo Nuxt
Logo Vue.js
Logo TypeScript
Logo AdonisJS
Logo Laravel
Logo NestJS
Logo Node.js
Logo Tailwind CSS
Logo PostgreSQL
Logo Vite
Logo Nuxt
Logo Vue.js
Logo TypeScript
Logo AdonisJS
Logo Laravel
Logo NestJS
Logo Node.js
Logo Tailwind CSS
Logo PostgreSQL
Logo Vite
Logo Nuxt
Logo Vue.js
Logo TypeScript
Logo AdonisJS
Logo Laravel
Logo NestJS
Logo Node.js
Logo Tailwind CSS
Logo PostgreSQL
Logo Vite

About

I'm Louis Leschevin, a full-stack developer based in Normandy, France. I build business applications, APIs, and web and mobile interfaces with TypeScript, Nuxt, Vue, AdonisJS, Node.js and PHP. As a freelancer, I want to work with a product team over time: ship new features, integrate external services, and make existing systems more reliable. I work remotely with French and international teams. My personal projects take me deeper into data and esports. With Ward, I turn League of Legends replays into data and review tools.

Latest articles

Notes on the products I build and the problems behind them

ROFL extraction: how I built Ward for League of Legends replay analysis

Inside Ward: extracting ROFL replays with computer vision, synchronizing game clocks, reconstructing champion positions, and building a replay review product.

Building invade.lol: A League of Legends Stats Platform

Why I built my own op.gg alternative, and the tech choices behind it. AdonisJS v6, Inertia with Vue, PostgreSQL for player data and ClickHouse for match analytics.

typescript.news: How I Built a Fully Autonomous AI Newsroom

A tech news site that researches, writes and publishes its articles on its own. Here is how I wired an OpenClaw agent, a self-hosted SearXNG instance and a few cron jobs into an autonomous newsroom built on Nuxt.
Copyright © 2026