Skip to content
View lschvn's full-sized avatar

Organizations

@kuroba-sh @invadelol

Block or report lschvn

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
lschvn/README.md

Louis Leschevin

Full-stack TypeScript developer · esports data · Normandy, France

lschvn.dev · LinkedIn · X · Email


I'm a full-stack developer based in Caen, currently doing my apprenticeship at Studio Grinto, where I ship web and mobile apps, workflow automation and AI integrations for clients.

What I'm building

invade.lol - Analytics platform for tier-2 / ERL coaching staff. It ingests .rofl replay files and rebuilds the match as a web dashboard: all ten players, position by position, second by second. Built on AdonisJS v6 + Inertia/Vue 3, with PostgreSQL for player data, ClickHouse for match analytics, Redis and Cloudflare R2. invadelol/core

typescript.news - A daily TypeScript/JavaScript news site that runs itself. An agent does its own research through a self-hosted SearXNG instance, writes the articles and publishes them, with no human in the loop. Nuxt + Nuxt Content + Nuxt UI.

nuxt-form - A useForm composable for Nuxt plus a createValidationError helper for Nitro, so form validation stops being copy-pasted across every project.

tinychat3ds - A 260K-parameter TinyStories model running natively on a New Nintendo 3DS. Written in C, entirely on-device, for no good reason at all.

Stack

Languages    TypeScript · PHP · Python · SQL · a bit of C when the target is weird
Front-end    Nuxt · Vue 3 · Inertia · Tailwind · Nuxt UI
Back-end     AdonisJS · Nitro · NestJS · Laravel · Bun · Node
Data         PostgreSQL · ClickHouse · Redis
Infra        Docker Compose · Proxmox · OVH VPS · Cloudflare · nginx · CrowdSec
Also         SEO / GEO · n8n automation · LLM integrations

Elsewhere

I write about what I build at lschvn.dev/blog - recent posts cover the architecture behind invade.lol and how the typescript.news newsroom actually works. I also run a small Proxmox homelab, which is where most of my infra habits come from.

Let's talk

Open to conversations about esports data, tooling for competitive teams, or anything TypeScript-shaped. The fastest way to reach me is email or LinkedIn.

Pinned Loading

  1. invadelol/core invadelol/core Public

    League of Legends statistics platform, summoner profiles, match history etc..

    TypeScript 1

  2. nuxt-form nuxt-form Public

    Add a useForm composable to Nuxt, and a createValidationError function to validate forms in Nitro

    TypeScript 13 1

  3. maybe-camera maybe-camera Public

    A small native camera app for iOS and Android with a few simple film like filters, no accounts, no cloud, no tracking.

    C++

  4. tinychat3ds tinychat3ds Public

    On-device 260K-parameter TinyStories completion running natively on a New Nintendo 3DS / 2DS XL

    C

  5. sendy sendy Public

    A lightweight WeTransfer clone built with Nuxt and NuxtHub, deployed on Cloudflare

    Vue 1