Things with no ads, no accounts, no telemetry and no designer (you can tell): two Android apps, a karaoke that runs in your browser, and a panel so you never miss a Twitch/YouTube stream. Built to solve real problems for the person who commissions them.
That's the browser version, the one that opens right here. The repository has another one with a server, for running the real thing at home: a separate screen for the TV, song requests from phones via QR, downloaded songs so the wifi can't ruin the night, and Karaoke, DJ booth and Freestyle spaces. It needs PHP, and it ships with a preparer that installs everything on its own.
Unlike the ones above, this one isn't plug-and-play: you need your own free Twitch and YouTube API credentials (five minutes, it's in the README). That's the price of nobody else seeing which streamers you follow.
* Rough illustrations. The real app looks the same, but with your data and your debts.
Install F-Droid, add this repository and the apps show up in your store with automatic updates. Settings → Repositories → + and paste:
https://tizzenn.github.io/fdroid/repo
Grab the signed APK and open it. Android will complain a little (enable "unknown sources"); stay strong — it is your phone after all. No automatic updates.
Kotlin, Material Design, Room, zero shady dependencies. GPLv3: do whatever you want, but share the code like we do.
It's a web page. You open it and that's it: search, pick, add to the queue, sing.
To run the real party karaoke —a separate screen for the TV, requests
by QR from phones, and songs downloaded so the wifi can't ruin the night—
there's the server version in the repository. Unzip it, run
Preparar.bat and it installs whatever is missing, inside its
own folder and without touching your system.
Bote is 100% local; QR and file sharing are plenty for groups that meet in person. If you also want it to sync on its own, you bring the server — we see nothing, there's no central account, no fine print. One person in the group sets it up (5 minutes) and that's it:
create table if not exists eventos_sync (
uuid text primary key,
datos jsonb not null,
actualizado timestamptz not null default now()
);
alter table eventos_sync enable row level security;
create policy "acceso anon" on eventos_sync
for all using (true) with check (true);
Only whoever creates the event sets it up. The server travels inside the event when you share it (QR or file), so everyone else, on import, gets connected automatically — no typing. Each group can have its own server, so you can be in several groups at once. From then on, whenever anyone opens an event the app pulls, merges and pushes.
The anon key is the key to your group's mailbox: share it privately and don't publish it. Prefer your own VPS with PostgREST instead of Supabase? Same table, just change the URL.
These apps were made with grade-A vibe coding: a human with ideas and zero patience dictating features to Claude, an AI that cannot unionize, doesn't bill overtime and compiles on the first try about 80% of the time (it also fixes the other 20%, dignity intact).
Every release warmed up a data center, which in turn warms up the planet, so spare us the guilt trip: use the apps, so at least the CO₂ served to figure out who owes €12.50 from the weekend. No ads, no accounts, no tracking. The only one who knows your debts is you. And your creditors.