Back
Kyrylo Silin

Kyrylo Silin

@kyrylo

Hacking on telebugs.com, self-hosted error tracker without a subscription · Previously senior engineer at Airbrake, maintainer of the Pry REPL
1
13
Joined July 2024
I just launched the first public #telesink demo! Watch real-time events: ✈️ live aircraft 💵 Binance transactions 🐙 GitHub activity 👨‍💻 Hacker News posts & jobs ☀️ weather in major cities See what’s happening, as it happens 👇 demo.telesink.com --- Note: still a WIP, so not fully stable yet, bugs may happen. The upside? It’s open-source! github.com/telesink
Inspired by messaging apps, I added a “seen” bar to #telesink. Here’s how it works: ✅ When you’re not viewing a sink, it continues receiving events ✅ Telesink remembers the first unseen event ✅ When you open a sink, it shows exactly where you left off
Columns in each #telesink feed now include day delimiters. Previously, the continuous stream of events made it hard to track activity. These delimiters give each column clear structure.
Just added a smart visual cue to #telesink. When you're not viewing a sink, it now gets bolded in the list to show new events have arrived.
My self-hosted Plausible CE v2 instance went down due to running out of disk space. So what did I do? Naturally, I went on a complete DERAIL and started rearranging things: 1. Moving it to another domain 2. Launching Plausible CE v3 3. Cleaning up my Plausible VPS 4. Freeing up disk space
I released rbtree3 for Ruby with support for Ruby 4.1. Thanks to @hsbt for the patch. rubygems.org/gems/rbtree3
Just added column reordering to #telesink Now you can drag your columns around to put the most important events exactly where you want them. Prioritize what matters most!
I am excited to introduce another #telebugs release!
Scroll a #telesink column and jump back to the top instantly. Since it’s real-time, you’ll see how many new events arrived while you were browsing older ones.
🎉 The #telesink JavaScript SDK is here: telesink.com/blog/telesink-ja…
⚡️ See your events instantly at #telesink Demo in the video: sink setup + first event in <30 seconds. Production apps: SDK in minutes.
Out with the old, and in with the new (#telesink logo)
Just shipped column filtering in #telesink, and holy shit, the dashboard finally feels like a real product 🔥 I’m already dogfooding it on my own projects. Here’s the quick demo I recorded: - Button clicks tracked with JS - Completed games coming in from Ruby Everything lands in one single sink. Now you just create columns and slap on whatever filters you want: - event type - search text - or both at the same time In my dashboard I set up 3 columns in 30 seconds: 1. Button clicks only 2. Completed games only 3. South American completed games only That’s it. There's no noise. You monitor only signals that matter to your business. What I love about it is that it’s stupidly simple to wire together... yet insanely powerful the moment you start using it. Who else wants this? 👀
#telesink is built in Ruby on Rails, so the first official SDK had to be Ruby. It’s now here: telesink.com/blog/telesink-ru…
I just published the first version of telesink-javascript - a lightweight Browser+Node SDK for #telesink Already using it in a few of my projects. It’s simple to integrate and designed to stay minimal. Code’s on GitHub 👇 github.com/telesink/telesink-…
📣 The next version of #telebugs will support displaying local variables for each stack frame (when available).
🎉 I just published the first version of telesink-ruby, the Ruby SDK for #telesink. I’ll be dogfooding it across all my projects to validate behavior in real-world use. Once it’s solid, I’ll roll out the rest of the SDKs. The code's on GitHub 👇 github.com/telesink/telesink-…
🛡️ Pro tip for building reliable Events APIs: Network delays, retries & hiccups make duplicate events inevitable. (Double charges, repeated notifications, messed-up state - all bad.) Fix it with idempotency_key: ✅ Clients send a unique key (UUID works great) with every event ✅ Your API stores processed keys in the DB (unique constraint). ✅ Seen before? Ignore & return success. ✅ New? Process & record it. I just added full support for it in #telesink.
Cloudflare’s email obfuscation caught me off guard when I deployed #telesink to production. I track #telebugs downloads and display the real customer email in my private dashboard to see who downloaded and when. But every event came back as [email protected]. It’s fully internal: users own the data, no scrapers involved. Turns out it’s on by default. To disable: ✅ Choose your domain ✅ Rules → Configuration Rules → Create rule ✅ Hostname equals <yourdomain.com> ✅ Email Obfuscation → Off If you’re running internal tools on Cloudflare, check this before going live. Saved me the debugging headache.
What’s the simplest schema for an Events API? That’s the exact question I’ve been grinding on for #telesink. I wanted the most minimal thing that’s still actually useful. One path: just accept text and parse everything (Telegram style). Super simple... but Telegram is a generic chat client. We’re building a specific tool. So I landed on this: text + emoji + event (the name) + properties (any key-values you want). Flexible enough because of properties, yet stupidly clear and understandable. Thoughts?
Home
Search
Messages
Notifications
More