I’m going on the journey of building a simple, private, self-hosted, cookie-free analytics tool that I’m calling Kownter. I may fail. But it will be fun and interesting! Come along!
I’ve been thinking a lot about GDPR lately and considering how I will become compliant with it as I run my business and projects, so I’m looking to slim down the data that I capture about people. The topics of both analytics and server logs has come up several times. It’s not entirely clear to me that either fall into the category of personal data, but I’ve been considering my use of them anyway.
I use Google Analytics on most sites/projects that I create, but I’m not that sophisticated in my use of it. I’m mostly interested in:
- how many visitors I’m getting and when
- which pages are popular
- where people are coming from
and it occurred to me that I can collect this data without using cookies and without collecting anything that would personally identify someone.
I would also be happier if my analytics were stored on a server in the EU rather than in the US – I can’t find any guarantee that my Google Analytics data is and remains EU-based.
I’m aware that there are self-hosted, open-source analytics solutions like Matomo (previously Piwik) and Open Web Analytics. But they always seem very large and clunky. I’ve tried them and never got to grips with them.
So I wondered: how hard would it be to build my own, simple, high-privacy, cookie-free analytics tool?
Now, I know that my requirements for analytics aren’t common. Many people need conversion rates, events, goals, unique visitors, returning visitors, and so on. So a tool with these limitations wouldn’t be for everyone.
But, as with all side projects, I feel like I could learn a lot by making something like this. It would be a step above my usual side projects, and a chance to learn more about:
- handling large volumes of data and scaling for that
- how regular web analytics works (and what has to be considered when making something like this)
- Laravel and Vue or React
Yes, “Kownter” is the silly name I’ve given this project. It’s pronounced “Counter” but includes the concept of OWNing your analytics. It had a domain available so I just went with it when I thought of it. I’m not the world’s best marketer, so go easy on my branding decisions!
Do follow along if you’re interested. Comments are welcome on the blog if you’re more experienced than I with this stuff, or if you have ideas that might help out. Or open issues on GitHub if that’s you’re thing.
I’m fully anticipating that this may be a journey that ends with me saying “This is too hard – I’m gonna leave this to people who’ve thought through all these things already” and revert to an existing tool. But the journey seems like an interesting one to go on.
I’m developing this VERY slowly and it’s very early stages, but I thought the process might be useful for others to follow. It may end in nothing, but maybe the end product will actually be of use to people.
Please don’t comment below to tell me that I’m crazy! 😃