• 5 posts
  • 33 comments
Joined 2 months ago
Cake day: September 9th, 2026

Hey everyone!

I’m a table tennis player and hobby developer from Serbia. Since having a full-time job, playing table tennis, maintaining servers and occasionally pretending to have a social life apparently wasn’t enough, I decided to start a few free and open-source projects.

Over the past few months, I’ve been working on three of them:

  • LibreTT (https://librett.org/) — a free and open-source desktop application for organizing table tennis tournaments. Runs on Linux, Windows and macOS. Somehow. The goal is to provide a genuinely free alternative to proprietary tournament management software.
  • stoni.rs (https://stoni.rs/) — an independent table tennis player and club registry for Serbia, currently containing around 5,000 players, 217 clubs and over 11,000 historical registrations. Because apparently having this information scattered across hundreds of PDF documents was too convenient. Note: The database is temporarily unavailable to the public while I clarify some legal questions regarding player profiles and personal data protection. I’ve contacted digital rights organizations for guidance. I’d rather sort that out before publishing thousands of profiles and accidentally creating a fourth project called Legal Defense Fund.
  • Velmoža (https://velmoza.rs/) — a volunteer initiative to help table tennis clubs get their own websites using free software. The idea is simple: clubs should own their websites and data instead of depending on proprietary platforms. Naturally, I decided to volunteer myself for even more work.

All three projects are currently developed and maintained by a highly professional team consisting of me, myself and I. Our meetings are extremely productive, although employee satisfaction is at an all-time low.

So, I’m looking for contributors!

Developers, designers, testers, translators, documentation writers, or anyone who finds these projects interesting. You don’t even need to know anything about table tennis, although knowing which end of the racket to hold would be appreciated.

Everything is non-commercial, and contributions are entirely voluntary. There’s no funding, no salaries, and unfortunately no free pizza. What I can offer is GitHub commits, occasional existential crises, and the satisfaction of contributing to something that anyone can use, study, modify and share.

I’m also considering eventually establishing a nonprofit organization to support free software and open digital infrastructure for table tennis, including projects developed by other people. But that’s a longer-term idea. For now, I’d be happy just to have someone else to blame when something breaks.

There’s no need for a long-term commitment. Even a small contribution, bug report, code review or suggestion would mean a lot.

P.S. In the interest of transparency, a significant portion of the code is AI-assisted or, as the kids call it, vibe coded. I’ve been responsible for the architecture, functionality, testing and the questionable decision to start all of this in the first place. So if you open the repositories and discover something horrifying, please remember that the code is free software. You’re legally allowed to fix it. :)

Anyway, if any of this sounds interesting, feel free to reach out. If not, I completely understand. I’m also questioning my life choices.

Free software, free knowledge, and apparently free labor. 🏓

Hi! I’m a table tennis player, club captain and referee who apparently decided that what the world desperately needed was another tournament manager.

So I made LibreTT. 🏓

It’s a desktop app for running table tennis tournaments: players, registrations, fees, groups, draws, matches, knockout brackets, results, backups and exports. It runs on Linux, Windows and macOS, works offline and requires no account.

So why another one?

Because I don’t think competition data should belong to the software that records it.

A result is created by players, clubs, referees and organizers. The software is just a tool. If LibreTT disappears tomorrow, your tournament history shouldn’t disappear with it.

That’s why LibreTT is licensed under AGPL-3.0-or-later. No subscriptions, activation servers, paid feature tiers or vendor lock-in. The source is public, the data stays local, and the community should always be able to preserve, move and continue its own infrastructure.

This is the first public beta (0.1.0-beta.1), so the next milestone is testing it against its natural predator: an actual tournament organizer who is 15 minutes behind schedule.

Development is AI-assisted and I disclose that in the README. I review and test what goes into the project and take responsibility for it.

Feedback, criticism and contributions are very welcome.

Source code · Website

Disclaimer: LibreTT website is still in development, expect bugs

  • It sounds like a good idea until you remember that USB provides 5V and the battery contacts are designed for a Li-ion battery and its management circuitry.

    Wiring USB directly to the battery contacts would basically be like noticing your car runs on petrol and pouring it directly into the engine instead of the fuel tank. The general concept of “engine needs fuel” is technically correct. The implementation leaves something to be desired.

    The USB port and the phone’s power-management circuitry exist for a reason, and bypassing them could damage the phone or make it behave in exciting new ways.

    A properly regulated dummy battery, however, might actually work. Unfortunately, that means I now have another terrible idea to investigate.