Readit News logoReadit News
Posted by u/gernest a year ago
Show HN: Vince – A self hosted alternative to Google Analyticsgithub.com/vinceanalytics...
For the past 3 years I have been working on a Golang port of plausible analytics dashboard.

vince is a single binary, single user with multiple website system with zero runtime dependency.

Key featues:

- Automatic TLS - Outbounds link tracking - File downloads tracking - 404 pages tracking - Custom event tracking

And so much more, basically everything that you see on plausible dashboard except funnels and custom properties.

You can use vince as a drop in replacement for plausible for personal websites.

The goal is to make the plausible dashboard easily accessible for people who like to self host.

All features not related to the dashboard are non goal, hence not implemented.

Full dashboard demo hosted on 6$ vultr instance https://demo.vinceanalytics.com/share/vinceanalytics.com/v1/...

zoidb · a year ago
My go-to self hosted GA alternative is goatcounter https://www.goatcounter.com. It would be interesting to know what advantages it has over it.
huhtenberg · a year ago
Does it allow filtering visited page list by a specific referrer and vice verse?
zoidb · a year ago
Yes, it does if I understand what you mean. You can see the traffic distribution (what paths were accessed) broken down by referrer.
james-bcn · a year ago
Oh I like that main dashboard. Very simple.
TravisPeacock · a year ago
If you like that there is https://www.piratepx.com/ which is even more minimal (though less data), I also built something even MORE minimal (only API calls) https://github.com/teamcoltra/ninjapx but I'm certainly not recommending it. It is super simplistic (also the readme is embarrassing)

Dead Comment

vextea · a year ago
There seems to be some mentions of selling licenses (and pricing) in the source. What are the plans around that?

https://github.com/vinceanalytics/vince/blob/f0c2c3cc38cbd8c...

gernest · a year ago
When I started working on vince, I thought I could bootstrap a sustainable business, that was about 3 years ago.

My dream for a business is practically dead now. That snippet is a relic of early days of vince and I will remove it.

I am currently looking for work, and will be maintaining vince as usual (I do a lot of open source stuff) since I also use it with my hobby projects.

I'm struggling finding remote roles now, since remote now means Remote US or Remote EU and I'm stuck here in Tanzania.

So, don't worry, I also use vince so I will keep hacking on it.

vextea · a year ago
Makes sense, wish you the best of luck!
written-beyond · a year ago
Code quality is pristine, really great job! I see that you've used protocol buffers, can you expand on why? I am aware of the benefits it offers but I think it adds a bit of mental overhead initially due to it being an additional type system you have to understand.

Also why are you using pebble exactly? I was interested in seeing how you're managing your geo databases because that's usually the most mind numbing part of handling analytics if your cloud provider doesn't add that information into the request header already. However, I can't understand why you'd use pebble over something like sqlite.

gernest · a year ago
Thanks,

> Why protocol buffers ?

They are very good for defining API boundaries, in vince we only use them for configuration and admin structure. We use Roaring Bitmap based storage, so fundamental units persisted are Bitmap containers.

> Also why are you using pebble exactly?

Well, vince is write heavy and any LSM based key value store would have been nice. It happens pebble is the best option for us.

Also, we don't use transactions (We batch writes and use snapshots for reads). Combining with the fact we rely on pebble batch Merge api.

The merge api allows us to do efficient updates. Since we only store bitmap containers, when doing update we just do a container union of observed values of a key.

Bitmap unions are pretty fast and efficient.

I hope I covered all your questions.

written-beyond · a year ago
It answered them alright, but really opened a few hundred more. I appreciate your time!
just-tom · a year ago
The screenshot on your homepage looks very similar to plausible's https://plausible.io/ which is also open-source analytics software. Is it based on it? What are the differences?

Edit: Just noticed the feature comparison in the readme.

dewey · a year ago
Also Plausible is almost stock TailwindUI elements + including the default color, so many sites look like that.
rgbrgb · a year ago
> Full dashboard demo hosted on 6$ vultr instance https://demo.vinceanalytics.com/share/vinceanalytics.com/v1/...

404 page not found

thangngoc89 · a year ago
XCSme · a year ago
That looks exactly like Plausible
pdyc · a year ago
Looks exactly like plausible, may be change the ui a bit to avoid legal issues.
carlosjobim · a year ago
I was going to say that it looks exactly like BeamAnalytics, and now I'm confused to who's copying who...
serial_dev · a year ago
I'm wondering when copying becomes just following industry best practices...

Twitter, Threads, Mastodon, Blusky all look the same. Project management apps all reuse the same UI patterns. The "AI" logo looked pretty much the same for all companies for a while. Video sharing websites all use YouTube's layout. Forums like Reddit and HN share quite a lot in their looks.

If you want to display website analytics, you will want to show the most important metrics at a glance, you'll need graphs showing visitors over time, top sources and pages... There is only so much you can do to display those and have users understand what's going on on your website.

dewey · a year ago
NelsonMinar · a year ago
What legal issues are you imagining?
colesantiago · a year ago
Great project keep it up it's good to see competition in this space.

Plausible gets crazy expensive on their hosted option and it complex to setup (needs elixir + high memory requirements)

If Vince gets 1:1 parity with plausible and has the option to use clickhouse, I'll consider moving a few servers and people I know over.

Love that Vince is also a single binary as well.

slyall · a year ago
Going through the docs I find you don't actually have a bit about how to make your website to use it. I mean I can work it would and it'll be obvious to proper front end developers but at not point do you say:

"Add the following line to you page source to send data to Vince"