Telesink Ruby SDK

/ / X · Bluesky · Mastodon

Telesink is built in Ruby on Rails, so the first official SDK had to be Ruby. It’s now here: the telesink gem.

It is deliberately tiny, has zero runtime dependencies (except logger), and gets out of your way. You install it, set one environment variable, and start sending events.

Installation

Add this line to your Gemfile:

gem "telesink"

Then run:

bundle install

Configuration

The SDK is configured entirely through environment variables. No classes, no blocks, no YAML.

Set your sink endpoint:

export TELESINK_ENDPOINT=https://app.telesink.com/api/v1/sinks/your_sink_token_here/events

For self-hosted instances, just change the URL to point at your own server.

To disable tracking (for example in tests or local development):

export TELESINK_DISABLED=true

Usage

Telesink.track(
  event: "user.signed.up",
  text: "[email protected]",
  emoji: "👤",
  properties: {
    plan: "pro",
    source: "landing_page",
    user_id: 123,
    email_address: "[email protected]"
  },
  occurred_at: Time.now,        # optional, defaults to now
  idempotency_key: "my-key"     # optional, UUID generated if omitted
)

The method returns true if the event was sent successfully and false otherwise (disabled, missing endpoint, or network error). It will never raise exceptions — any errors are logged to STDERR and the call fails silently so your app stays happy.

What’s under the hood

The entire gem is ~60 lines of plain Ruby using only the standard library. It:

Next steps

Ruby was the obvious first language. I’ll be shipping official SDKs for JavaScript, Node.js, Python, Go, and PHP next — let me know on X which one you want first.

The complete source is at github.com/telesink/telesink-ruby. It’s MIT licensed, obviously.

Now go connect your app and watch events appear instantly in your Telesink feed.

Follow along on X at @kyrylo.