Louis Leschevin, full-stack developer

I build web and mobile applications, APIs, and data-focused tools. As a freelancer, I am looking to join a product team and help build and evolve its application over time.
Portrait of Louis Leschevin

Hi, I am Louis Leschevin, a full-stack developer based in Normandy, between Caen and Rouen. I like understanding how a product works as a whole: what a user is trying to do, what happens in the interface, and what follows in the API and database.

TypeScript, Nuxt, Vue and AdonisJS are central to my work. My projects also lead me to use PHP, Python and SQL, work with data, and get involved in infrastructure. I enjoy connecting those areas to ship something useful.

How I can help your team

I am looking for multi-month freelance work within a product team, especially at French or international companies building their own application. I want to contribute to both new features and long-term product maintenance, with a place in technical discussions and the product's ongoing evolution.

  • Web and mobile applications: build an end-to-end feature, user area, business form, or data-visualisation interface.
  • APIs and integrations: connect an external service, integrate payments, automate data exchange, or link existing tools.
  • Maintenance and reliability: reproduce a bug, understand its cause, fix the affected flow, and cover the cases likely to bring it back.
  • Data and internal tools: turn data into useful dashboards, import flows, or business applications.

I work remotely and communicate in French or English. Scope, pace, and start date can be agreed together, taking my current commitments into account.

What I build

Ward: from replay extraction to review

With Ward, I am working on a problem I care about: making League of Legends replays easier to analyse. The project connects a Python extractor, desktop application, API, and web interface to explore a match, its timeline, and player positions.

Ward best shows the range of problems I enjoy working on: computer vision, synchronisation, data processing, storage, and browser interactions. I wrote a detailed article about ROFL extraction, architecture choices, and benchmarks. It also covers the hard parts and the limits of the measurements. You can try the demo workspace without importing a replay.

Public projects where I share what I learn

Nuxt Form is a module that brings together Vue-side form state and Nitro validation errors. It began with a practical need: stop rewriting the same submission, error, and loading mechanisms in every project.

typescript.news explores automating a TypeScript and JavaScript news workflow from research to publication, with Nuxt and a self-hosted SearXNG instance. It is a place to experiment with agents, integrations, and publishing pipelines.

invade.lol is my other League of Legends data project. I work with AdonisJS, PostgreSQL, and ClickHouse there. Read about its architecture on the blog.

I also occasionally leave the web behind. TinyChat 3DS is a C prototype that runs a small text-generation model on the New Nintendo 3DS family. The repository documents its memory constraints, desktop verification, and emulator execution. It is a good excuse to understand what remains possible with very limited resources.

You can find these projects and other experiments on my GitHub profile.

My experience in a team

Since July 2025, I have been a web and mobile developer apprentice at Studio Grinto in Caen. I contribute to client applications across several areas:

  • DataDunk: Bluetooth connection and collection fixes, sensor data, and visualisations in a mobile app.
  • MatchMaBrand: Stripe and Buybox integration, payment and gift-card changes, logging, and tests.
  • Bazin and BMW Envergure: charging-station request flow, form progress, validation, and draft recovery within the client partnership.
  • Nextlane: critical bug fixes in a WinDev application.

This work means dealing with concrete constraints: a device that disconnects, a payment that needs tracking, a form that must resume correctly, or a problem in an existing application. These are also the areas where I want to keep growing alongside a team.

Before that, I worked at Optimum Circle from August 2024 to March 2025 and at Eurecap in July and August 2023.

I am completing an MBA in Full-Stack Development at MyDigitalSchool Caen, expected in July 2027. My apprenticeship at Grinto is planned through August 2027.

Beyond application code

I maintain a small Proxmox homelab. Docker Compose, VPS hosting, Cloudflare, and nginx are part of my environment too. I like understanding how applications run after they leave the editor.

Esports and tools for competitive teams remain a common thread in my personal projects. The blog is where I share what I learn, taking the time to explain decisions, results, and what still needs improvement.

Let us talk about your product

Looking for a developer to strengthen your team around an application, API, or integrations? Send me a few details about your product, stack, first priorities, and the rhythm you have in mind. That gives us a concrete basis for a conversation.

Discuss a freelance project by email · LinkedIn · GitHub

Copyright © 2026