Show HN: I spent 8 months building a self-hosted web analytics app
321analytics.comHi everyone,
I spent the last 8 months working on a web analytics app that is completely self-hosted. First it was just as a small side project - but then I more and more liked the idea and added feature after feature.
I wanted to have a web analytics tool that I could easily set up on a new project, that is easy to use, provides an appealing user-experience and combines all the features of "classic" analytics tools (e.g. Google Analytics) with functionalities like Heatmaps (so I only have to use one tool). Furthermore, I wanted to have full control over all my data.
I was so pleased with how everything came out that I decided to give it a try and make it a product (321 Analytics).
So the first version of 321 Analytics is finally ready and I wanted to share it with you.
I would be very happy to hear your thoughts and appreciate any feedback or suggestions for improvement.
When I see something like this, I immediately think: what's the difference with Piwik / Matomo ? https://matomo.org/
Thank you for commenting. One of the main differences is that I think 321 Analytics provides more functionalities "out-of-the-box". You don't have to install plugins, buy add-ons or something like that. E.g. just the heatmap feature costs 199$/year for matomo. With 321 Analytics you get the whole range of functionalities (as well as future updates) as one package without hidden costs or the need to extend the app with add-ons or plugins. Furthermore I like to think that 321 Analytics is also a bit nicer in terms of UI. Another advantage of 321 Analytics is the way the data is structured and how you can therefore filter that data. You can pretty much create infinite numbers of filter combinations to get the exact insights that you want.
321 Analytics is not free. But I think a price of 50$ for the current product is not too expensive. The annual renewal is just for further updates/support after the first year - it's impossible to sustain development otherwise. But you do not have to renew the license - you can terminate the renewal at any time.
It looks like this isn't FOSS ($50 for a single website per year). The hosting structure is the same (self-hosted/you are on your own). Compared to Matomo this seems to work on SQLite in addition to MySQL.
Since we must buy this program, maybe there could be larger screenshots and more detail about the features. Perhaps even a demo instance everyone could access (https://321analytics.com/analytics doesn't show any data).
Also, I'm intrigued about the way the program must be deployed. "Upload the app files on my hosting" doesn't mean much, except if I'm a PHP user who has one of those all-PHP hosting accounts. What about the database?
I'm sorry I forgot to answer on the second part of your reply. By default, the application uses SQLite. So if your host provides PHP and SQLite, you just upload the app files and the app creates the database and the structure automatically. If you want to use a MySQL database instead, there is a small config file where you can just enter your MySQL database access details. The app then sets everything up on its own again.
I saw empty demo pages as well. Turns out it tries to load a local /analytics.js file which my adblocker prevented.
Thanks for the feedback. That would be an explanation that adblocks block the analytics.js file - I didn't think of that. Let me quickly do some modifications - I hope that it doesn't get blocked anymore. Thanks for your help.
I made a few modifications to hopefully prevent this "adblocker-error". Would you be so kind to check again? Thanks.
Yes, exactly that. Thanks!
Awesome! Does the demo work properly?
Yes, it does, and it is beautful. I however found it a little too slow.
Awesome - thank you for this great feedback! It might be a little bit slow at the moment because I have been working on the whole site constantly today. Also the app does pull all the data in real-time so you always get the latest accurate metrics - which can take slightly longer compared to cached or estimated analytics data.
All issues should be solved now. Would be awesome if you were so kind to try again - everything should run fast and smooth now! Thank you very much for your patience.
Thank you for your feedback. I will add some bigger screenshots - thanks for this idea! The demo should be working however - if you go to the demo and click on "Traffic" for example there should be data. I just checked again and it works for me. Could you try again please? Thank you very much!
I did a few modifications - maybe it was an "adblocker" as well that prevented the demo to load for you. Would be so kind to try again? Thank you.
As a shameless self-promotion side-note, I have written https://trackingco.de/ too, which is kinda open-source too, but has a hosted version which is free while it's beta.
But mine is much simpler and has much less features, mostly because storage is not cheap and I wanted to optimize to it.
I will check it out :)
Feedback:
Browser history is a must or at least some url paths to link to. Otherwise I have to keep going back to the metric menu for every action.
Each pages displays a whole lot of information. It's broken down nicely, but sometimes less information is more. Being able to focus on one type of graph/data rather then several blocks is easier.
The "plus" icon on some graphs expends and collapses (UI issue)
The UI colors seem really light. Might want to check for color contrast because I think this would fail accessibility.
Thank you for this awesome feedback! I will try to implement your suggestions as good as possible!
Do you think the orange/yellow UI itself is too light, is it the gray/white background combination or just some of the font colors that might have not enough contrast? Thanks for your help.
Looks interesting. I’ve been thinking about self hosting analytics so this is timely.
I didn’t see any sort of feature comparisons available vs something like Matomo/piwik or hosted Google analytics.
One thing that has kept me from self hosting and just using Google analytics is that I feel like Google probably does a good job at filtering out bots and spam where I’d be more unsure with a less mature option. Would be interested to hear more if you have a moment, though perhaps I could run both for a month and just compare the data.
Thank you very much for your feedback. I will definitely add a comparison table soon - that's a very good idea! As I will be constantly improving the app (by the way: the app updates itself automatically when I release new updates) I will also try to improve filters more and more. Also, if users have any wishes or suggestions for improvement, I do my best to implement them as well. I'm going to run a few comparisons in the near future as this is a good point. Also, if you give 321 Analytics a chance, I would of course also be super happy to hear your thoughts and experiences.
Took 19.32s to load this page with 12 buttons: https://321analytics.com/analytics/en
Thank you for the feedback. I am very sorry for the inconvenience. Due to the boost in traffic from a few sites yesterday the hosting is struggling to keep up with the traffic. I have already been calling my host twice and work hard myself to keep things up and running. I am very sorry for this inconvenience.
All issues should be solved now. Would be awesome if you were so kind to try again - everything should run fast and smooth now! Thank you very much for your patience.
503 Service Unavailable No server is available to handle this request.
I am extremely sorry for that. I launched the app on a few sites today and traffic seems to be a little bit too much for the server at the moment. I have already called my server company and do my best to get it up and running again as quickly as possible. I apologize for the inconvenience.