Jean Carlo Benites PorrasEspañol

CLX: from a cancelled tournament to a platform

CLX is a platform where many organizations run their esports tournaments, across games. I founded it and own it with two partners, and I am its sole developer: product, Go backend, Astro frontend and deployment.

Period
Jul 2025 — now
Role
Founder and co-owner, with two partners. Sole developer
Status
Live at clx.pe since October 21, 2026
Stack
Go, Fiber, ent, PostgreSQL, Redis, WebSockets, Astro, React

Visit clx.pe

The CLX events page: a live test event, Liga Pacífico Split 2, with its current match at 1 to 1.
The events page in the local environment with test data: the event and the live match are simulated.

The internal name, Lima Cashout, comes from Ranked Cashout, a THE FINALS game mode. CLX does not handle bets or prize money.

The problem

In the Latin American community, tournaments run on Discord and spreadsheets: sign-ups in a form, brackets built by hand and results sent as messages. Every organization repeats that work for every tournament.

How it started

  1. Aug 2025

    LIMA CASHOUT: THE FINALS, an online tournament for South America. A Swiss qualifier in lobbies of 4 and double elimination. The prize pool started at about USD 280 and grew with every team that signed up, up to about USD 620.

  2. Feb 2026

    The second edition, LOC: Clash of Titans, had a USD 1,100 prize pool and talks with Embark Studios, the game’s developer, about joining its official 2026 circuit. We were not heading the same way, so we cancelled it on February 26.

  3. Apr 2026

    The tournament software became CLX: a platform where many organizations run their own tournaments, across games.

What I built

An organization gets verified, sets up its team with roles and creates events with a wizard. The platform handles the rest.

  • Verified organizations, with roles for their staff.
  • Clubs with per-game templates.
  • Seven tournament formats as interchangeable strategies: single and double elimination, Swiss, round robin, group stage, lobby leagues and multi-stage tournaments.
  • Result reporting, disputes and a public page for each event.
  • Discord bots and live updates over WebSockets.
  • An interface in 3 languages.
The CLX organization directory with three test organizations and their events.
The organization directory.
The public page of Pacífico Gaming, a verified test organization, with its public events.
The public page of a verified organization.
A CLX single-elimination bracket with test data: quarterfinals played with their scores, a live semifinal on the pearl material and the final still to be decided.
The single-elimination bracket: scores, seeds and the live match.
The header of a CLX test event, Liga Pacífico Split 2, with the live semifinal scoreboard at 1 to 1.
An event page with its live match.
The same event page on a 390 px wide phone, with the live scoreboard below the event details.
The same event on a phone.

Screenshots from the local environment with test data, October 20 and 24, 2026.

The hard parts

Forfeits mid-tournament
When a team drops out, its pending matches are resolved and the bracket moves forward in a single transaction. Either all of it applies or none of it does.
A log that shows tampering
Sensitive changes go into a hash-chained log. If someone edits, deletes or reorders an entry in the database, verification reports where the chain broke.
Idempotent commands
A result that arrives twice, from a retry or a double click, is applied once.
Auth and hosting
I moved authentication from Firebase to Better Auth. Hosting changed three times before it settled on Coolify.

In numbers

  • 744commits in 7 monthsgit history
  • 82REST endpointsAPI routes
  • 30entities in the data modelent schema
  • 193Go test functionsgo test
  • 7tournament formatsbrackets library
  • 233findings from my own audit across 10 disciplines, all fixedaudit report, 2026

What became open source

Two parts of CLX are now separate libraries, and CLX uses them like any other project would.

  • bracketsThe 7 tournament formats from CLX as a library: brackets, Swiss, groups, leagues and stages.Go · v0.1.0 · used in CLX
  • hashchainAn append-only log where changing a stored entry breaks the chain at the exact point.Go, PostgreSQL · v0.1.1 · used in CLX

Where it stands

CLX has been live at clx.pe since October 21, 2026. It has no public events yet.

Next case: tests inside Baldur’s Gate 3

Write to me

I am looking for a remote senior full-stack or backend role. I answer in English or Spanish.