Case studies·Tools

Lichess

Free chess on Scala, MongoDB, and donations

Thibault Duplessis built Lichess as a free, adless chess server — Scala and Play on the backend, MongoDB for billions of games, funded by user donations instead of VC. It publishes costs openly and still treats boring infra as a virtue.

2010–2015

Side project that refused to monetize

Real-time chess experiment → millions of games/month

Lichess began as a realtime web app experiment and grew into one of the most popular chess servers online. Duplessis kept the core promise: free for everyone, no ads, MIT-licensed source on GitHub.

The stack from day one was Scala with Play, MongoDB for game storage, Elasticsearch for search, nginx proxying, and a separate WebSocket server talking over Redis. Chess logic lives in the scalachess submodule — boring separation, not microservices cosplay.

Lesson

A side project with a moral stance (no ads, ever) forces infra choices that VC chess apps never need to make.

2015–2020

Outperforming funded rivals on donations

5M+ new games/month · server costs reported in low hundreds USD (2015 MiXiT talk)

At MiXiT 2015 Duplessis described hosting more than five million new games per month for on the order of $183 in server costs — community-powered Stockfish analysis via donated Fishnet nodes, codebase kept efficient as traffic grew.

The architecture stayed async Scala with Akka streams, games indexed in Elasticsearch, rated games exported to a free PGN database at database.lichess.org. Scale came from code discipline and donated compute, not a Series A.

Lesson

Donated worker nodes (Fishnet) are a cheat code for CPU-heavy features. Let your community supply cycles you cannot afford to rent.

2021–today

French non-profit, open books

~€651k gross donations (2023 review) · small paid team from community support

Lichess is now a French loi 1901 non-profit. The 2024 year-in-review blog reports 2023 gross income around €651k — roughly 97% from user donations averaging €5 — with expenses near €577k and a modest surplus.

Costs publish at lichess.org/costs (a public spreadsheet). Salaries and contractors are the biggest line items; the stack did not pivot to hyperscaler cosplay. It graduated to a sustainable charity running boring databases at billion-game scale.

Lesson

Open financials build trust faster than growth hacks. If users fund your servers, show them the spreadsheet.

Sources

Facts drawn from public engineering posts and interviews. Numbers are approximate where sources disagree — we're stack advisors, not historians.

Get the right stack for YOUR scale — not theirs

Lichess's stack made sense for Lichess. Yours won't — and copying theirs is how you end up with a $4k/month bill and three unused Kubernetes clusters.

Plan my stack — free