Kyrylo Silin
@kyrylo
Building a self-hosted Sentry alternative for error tracking @telebugs.com homepage
How much will Sentry cost as your usage grows? I made a free Sentry pricing calculator for Team and Business plans. Enter your monthly errors, logs, spans, replays, and other usage to estimate your monthly and long-term costs.
🌇 I've sunsetted The HTML Maze. I've moved it to my personal site as a collection of static HTML pages. You can no longer scribble on the walls or leave permanent drawings. Everything that was already there has been preserved, though. The walls remember everything 🧱
Most redesigns add things. I removed them. Turns out, deleting CSS is also design.
lobste•rs just switched to SQLite I’m genuinely happy about it. It’s a wonderful site... (and a Telebugs customer) SQLite keeps winning 🎉
Three days after launch, the flag battle is already getting serious: 🇩🇪 Germany is leading with 203,063 clicks 🇧🇷 Brazil is chasing with 106,122 clicks 🇺🇸 USA is far behind with only 19,249 clicks Is Germany really going to win this easily?
I shut down Coffee World Rush. The project had been receiving almost no traffic for the past few months, so it was time to say goodbye.
I made a stupid little game where countries fight by clicking their flags. Every click lifts your country. Top country gets the crown. Play here: flagclick.com
God made some programmers senior and some junior. Sam Altman made them all equal.
I completely remade Telesink. The idea is simple: 1. Send events to the Telesink API. 2. Collect them in a sink. 3. Filter them into custom views so you only see what matters.
It has always bothered me that there was no straightforward way to know what Telebugs is doing in the background (and it's doing a lot). There was no way to see what was purged and when, when VACUUM ran, or what maintenance tasks had completed. So I fixed it with the new Maintenance Activity feed.
New Telebugs guardrail: Queue Protection. If your apps send errors faster than Telebugs can process them, intake pauses before the queue grows too large. Rate limit handles the front door. Queue protection handles the backlog. An error storm should not become an infrastructure incident.
One of the best ways to crack a problem is to step away from your computer.
The more your app breaks, the more work your error tracker suddenly has to do. I’m adding first-class rate limits to Telebugs. Set how many incoming errors your instance should accept per minute. When the limit is reached, Telebugs returns 429 before the queue, SQLite, or disk get overwhelmed.
✨ This was instantly useful. I deployed it to the Telebugs public demo instance, and it stopped ingesting errors after detecting that disk space was running low.
So I’m adding guardrails: Telebugs can now stop accepting errors when free disk space drops too low. Configurable, of course.
The honest number: ~50 fully processed error reports/sec. That is ~4.3 million reports/day on one small instance. Blog post coming soon.
HTML is still King. You can now control popovers and modals without *any* JavaScript using the Invoker Commands API. Works great with <dialog> too (show-modal / close). developer.mozilla.org/en-US/docs/W...
It's kind of ridiculous how expensive basic error tracking has become. Take a 100,000 errors/month plan billed annually. That's barely anything for a production app, and more than half of those events are usually just JavaScript noise. Go over the quota, and the bill keeps climbing.
A customer from 🇨🇭 Zurich asked for a tiny Sentry thing they missed: “mute until this happens N more times” It stuck with me. Some errors don’t need silence forever, or a timer. They need: “tell me if this is actually coming back” Coming soon to @telebugs.com
New in the upcoming Telebugs release: bulk merge and bulk mute actions. Select multiple errors and apply the same action to all of them at once. Useful when cleaning up related issues or reducing noise.
OpenAI gave me a free 6-month Codex subscription because of my open-source contributions. Very generous. Thank you, OpenAI.
I can write regexes without AI. I never understood the jokes about them because I never struggled with them. Maybe it’s because my first programming book was on Perl 🤔
I used to copy backtraces from my error tracker into an LLM for help. It worked, but it was clunky. Context got lost and I kept re-explaining the project. With Telebugs MCP, I can point my editor’s AI directly at real error data.