Self-hosted Segment equivalent?

UPDATE: I started this project, it’s called Forwardlytics and you can find it here https://github.com/jipiboily/forwardlytics.

I like Segment. I like it a lot. I’ve been using it for a few years now.

What is it? You install Segment in your app, and you can configure Segment to dispatch your analytics stuff where you want. For example, it sends to Google Analytics, Intercom, Mixpanel and Drip in my case. That’s awesome. Install once, and add any number of integrations from Segment’s UI. You should probably use it!

The problem I have is that it cost quite a bit of money to have some features, or have access to the integrations I want. I realized that when doing some paperwork and looking at the cost of all the tools I am using to run Metrics Watch. Yes, you read that right, depending on the plan you pay for, you have access to some integrations. For example, the Intercom integration is available with the $29 plan and the bigger plans. Drip, Mailchimp, Adroll and Perfect Audience are only on the $99 plan and up. That’s quite a bit of money for an early stage & bootstrapped company. That’s over a thousand dollars per year. Is it worth it? Yes! In most case!

Working alone

I want to build an equivalent, self-hosted tool. Not so much for saving money, but for fun. It sounds fun, and I want to hack on something for fun, with other people.

I am a freelancer and a bootstrapper and I love it a lot! I am doing that on my own, alone. I miss building something with other people and contributing to open source.

Let’s hack for fun, together?

Let’s build an open source, self-hosted equivalent, together.

A day or two ago, I spent some time thinking about it. How should it be built? Which language? Which tools? Does it even make sense?

Does it make sense? Probably not. It certainly doesn’t in terms of money, as I could freelance only a few hours and pay for a full year of Segment very, very easily. I’m also a big fan of cloud hosted solutions, it saves you time and money in the vast majority of the case.

Still, I am starting to do it. I don’t know if I’ll get it to a production level, especially if I end up doing it mostly on my own, but I am at least starting to hack on it. It will probably take months before being production ready, if ever. I don’t have a lot of time to put on it, but I find it exciting, so I’ll try to find some time.

The repository is currently private as there is nothing to show right now, but I can share it with you, and it’ll be open source soon.

What’s the plan?

It’ll be in Go, because concurrency. Also because I have been writing Go as a freelancer for a few months now and I want to try a different set of tools and get better and faster at writing Go.

I looked at Crystal and while it look awesome, it lacks concurrency and the community is still a bit young, so if I want to succeed, I prefer to use Go. Next time, Crystal!

For the version 0.1, what I am planning:

  • Support for one app (you will have to deploy twice if you have two different web apps or sites you want to use it for).
  • It will only support identification of users (equivalent to Segment’s identify), and probably events. No page tracking.
  • It will support Intercom and Mixpanel. Ideally, Drip very soon after.
  • No front-end related code whatsoever, this will be for the 0.2 probably.
  • All the configuration will be in environment variables. No web UI, no database.

This could totally change, this is the rough plan as it is today. It might be different tomorrow, or next week, depending on the people who are interested in working on that with me.

Eventually, I would love it to support a lot of integrations, have all the things required to support properly JS heavy tracking, a web UI, storing everything in a database, a debug view to see what’s coming in, in real-time.

Are you in?

Does that sound interesting to you? Reach out to me on Twitter.

A single golf clap? Or a long standing ovation?

By clapping more or less, you can signal to us which stories really stand out.