Creando ahoraBuilding now
Tech Lead enTech Lead at 1SlapFullstack paraFullstack for CDQBackend + App mobile paraBackend + Mobile app for Royal Parking 2.0SaaS para creators conSaaS for creators with TubewiseSide project de esportsEsports side project League of RankedsVeto de mapas de CS2 conCS2 map veto with B03DevOps & Cloud enDevOps & Cloud at Redlizard StudiozRefactor + SEO paraRefactor + SEO for TriviaDailyTech Lead enTech Lead at 1SlapFullstack paraFullstack for CDQBackend + App mobile paraBackend + Mobile app for Royal Parking 2.0SaaS para creators conSaaS for creators with TubewiseSide project de esportsEsports side project League of RankedsVeto de mapas de CS2 conCS2 map veto with B03DevOps & Cloud enDevOps & Cloud at Redlizard StudiozRefactor + SEO paraRefactor + SEO for TriviaDailyTech Lead enTech Lead at 1SlapFullstack paraFullstack for CDQBackend + App mobile paraBackend + Mobile app for Royal Parking 2.0SaaS para creators conSaaS for creators with TubewiseSide project de esportsEsports side project League of RankedsVeto de mapas de CS2 conCS2 map veto with B03DevOps & Cloud enDevOps & Cloud at Redlizard StudiozRefactor + SEO paraRefactor + SEO for TriviaDailyTech Lead enTech Lead at 1SlapFullstack paraFullstack for CDQBackend + App mobile paraBackend + Mobile app for Royal Parking 2.0SaaS para creators conSaaS for creators with TubewiseSide project de esportsEsports side project League of RankedsVeto de mapas de CS2 conCS2 map veto with B03DevOps & Cloud enDevOps & Cloud at Redlizard StudiozRefactor + SEO paraRefactor + SEO for TriviaDailyTech Lead enTech Lead at 1SlapFullstack paraFullstack for CDQBackend + App mobile paraBackend + Mobile app for Royal Parking 2.0SaaS para creators conSaaS for creators with TubewiseSide project de esportsEsports side project League of RankedsVeto de mapas de CS2 conCS2 map veto with B03DevOps & Cloud enDevOps & Cloud at Redlizard StudiozRefactor + SEO paraRefactor + SEO for TriviaDailyTech Lead enTech Lead at 1SlapFullstack paraFullstack for CDQBackend + App mobile paraBackend + Mobile app for Royal Parking 2.0SaaS para creators conSaaS for creators with TubewiseSide project de esportsEsports side project League of RankedsVeto de mapas de CS2 conCS2 map veto with B03DevOps & Cloud enDevOps & Cloud at Redlizard StudiozRefactor + SEO paraRefactor + SEO for TriviaDaily
ServiciosServicesProyectosProjectsExperienciaExperienceContactoContact Pedir presupuestoRequest a quote
04/08SIDE PROJECT · ESPORTSSIDE PROJECT · ESPORTS

League of Rankeds

Un hub competitivo de League of Legends donde se juegan ligas, torneos, equipos y duelos, con sync automático de partidas.A competitive League of Legends hub for leagues, tournaments, teams and duels, with automatic match sync.

ROLROLE
Creator · Fullstack Developer
PLATAFORMASPLATFORMS
Web · PWA · WorkersWeb · PWA · Workers
CONTEXTOCONTEXT
Proyecto personalPersonal project
League of Rankeds

SOBRE EL PROYECTOABOUT THE PROJECT

Side project full-stack convertido en un hub competitivo de League of Legends con más de 80 usuarios, donde se juegan ligas, torneos, equipos y duelos. Los jugadores conectan su Riot ID y la app sincroniza automáticamente sus partidas ranked desde la API de Riot, calculando puntos con un motor de reglas configurable por competencia. La construí con Next.js (React 19), TypeScript, Prisma y PostgreSQL sobre Supabase, con un panel de administración aparte y workers en Node/TypeScript que corren con PM2 en un VPS propio, deployados automáticamente con GitHub Actions.A full-stack side project that grew into a competitive League of Legends hub with 80+ users, where leagues, tournaments, teams and duels are played. Players connect their Riot ID and the app automatically syncs their ranked matches from Riot’s API, scoring them with a per-competition configurable rules engine. I built it with Next.js (React 19), TypeScript, Prisma and PostgreSQL on Supabase, with a separate admin panel and Node/TypeScript workers running under PM2 on a self-hosted VPS, auto-deployed with GitHub Actions.

STACK

Next.jsReactTypeScriptTailwind CSSPrismaPostgreSQLSupabaseNode.jsPM2RemotionResendWeb PushRiot APITwitch APIGitHub Actions

LO QUE CONSTRUÍWHAT I BUILT

06 ENTREGABLES CLAVEKEY DELIVERABLES

Sync con la API de RiotRiot API sync

Importación automática de partidas ranked, rangos y KDA desde el Riot ID de cada jugador.Automatic import of ranked matches, tiers and KDA from each player’s Riot ID.

Motor de puntos configurableConfigurable scoring engine

Reglas por liga: base de victorias/derrotas más bonus por KDA, partidas perfectas y penalizaciones.Per-league rules: base wins/losses plus bonuses for KDA, perfect games and penalties.

Ligas, equipos y duelosLeagues, teams and duels

Ligas soloq, duoq y por equipos, gestión de teams, salas de duelos 1v1 y leaderboards en vivo.Soloq, duoq and team leagues, team management, 1v1 duel rooms and live leaderboards.

Workers en VPS propioWorkers on a self-hosted VPS

Procesos en Node/TypeScript con PM2 (sync, live, emails), deployados con GitHub Actions por SSH.Node/TypeScript processes with PM2 (sync, live, emails), deployed via GitHub Actions over SSH.

Integración de streamingStreaming integration

Polling de Twitch y Kick para mostrar en tiempo real qué jugadores están en vivo.Twitch and Kick polling to show in real time which players are live.

PWA con push y panel adminPWA with push and admin panel

Notificaciones Web Push y un panel de administración aparte para ligas, usuarios, disputas y novedades.Web Push notifications and a separate admin panel for leagues, users, disputes and news.

¿QUERÉS ALGO
ASÍ PARA VOS?
WANT SOMETHING
LIKE THIS?

© 2026 Thomas Chauresthomaschaureswork@gmail.com