Show HN: It took me 5() months to build a Plausible alternative

After months of using Google Analytics I realized only about 50% of people accepted my cookie-popup. I had months of incorrect data for my website. I started looking for alternatives and eventually found Plausible, which is great (and open-source). Problem is, I didn't feel like paying 9$ a month to see the amount of visitors on a website i didn't even earn anything on, it was just a hobby project.

Eventually I started making my own web analytics. Which actually isn't that hard. It took me about a month of working on my spare time every now and then. Being GDPR compliant basically means to not save any personal identifiers. At first I thought it would be easy since something like a public IP adress can't count as a personal identifier right? I was very wrong.

How it works: When a user visited my website I saved the IP and Header for 24 hours. Then if they visited again I checked the combination of IP and Header against the ones saved in my DB. If they were the same I simply added 1 view to my data. If they weren't the same I added 1 unique daily user and 1 view.

That's in short how it works. A few weeks later I realized if I had this problem then other would also have it. So I started working on Simplytics.dev. I had to do a lot of new stuff and re-build my code from the ground-up twice. Small things like OAuth was completely new to me and took up a lot of time.

But eventually I got here and just launched something that with the knowledge I have today wouldn't even take a third of the time recreating today. It's my first real "Launch" and it feels really good finally creating something AND publishing it. Instead of a montly fee I opted to make it a pay-once service. Right now it's priced at 49$ but I'll see how it works out.

If you got any questions on how it works Id love to answer them.

44 points | by Avfrosta 7 days ago

18 comments

  • rognjen 5 days ago
    While admirable, a one time payment for a service you host is fair neither to you (what if I use it for 10 years) nor me (what if you shutdown tomorrow).

    On the other hand, a one time fee for analytics I could deploy on my server a) makes financial sense for you and b) is an intriguing value proposition for me.

    Have a look at https://once.com/

    • weird-eye-issue 2 days ago
      The irony of ONCE is that the company behind it makes 8 figures annually on recurring revenue. They can afford to launch products with unsustainable business models just to get some PR
      • paxys 2 days ago
        They didn't launch anything, just repackaged a couple of legacy products that nobody was paying for with a flashy marketing campaign.
      • kristiandupont 2 days ago
        I don't think ONCE is a loss leading marketing device for them. That would also seem like a pretty poor strategy, as those users are pretty unlikely to convert.
    • udev4096 2 days ago
      Nothing more than a marketing tactic. Why not offer their main products for "once"?
    • Avfrosta 5 days ago
      That's a beautiful site and a nice way to put it. But yes, you're right. While my server costs are low anough that just one user could cover months, it's still not sustainable. My plans is to move onto a "pay for what you use system" in the future.

      But I have thought about making it self-hosted too. But there already is so many great products for that out there.

      I wish there was a perfect way to do this. I despise subscriptions, I dislike pay as you go becasue it's too complicated, and finally, a one-time fee dosent really work when sold as a service as you said. But I guess these are the options for people not willing to self-host.

      If you got any interesting reads on this topic please send em my way.

      • tugu77 2 days ago
        Have you considered open sourcing?
    • solardev 2 days ago
      > Have a look at https://once.com/

      ...from the company behind Basecamp and Hey.com, both subscriptions.

      • phartenfeller 2 days ago
        ...and campfire, a one time fee slack alternative. Are people allowed to change their views?
        • solardev 2 days ago
          It just doesn't have much weight when the overwhelming bulk of their revenue comes from subscription services. It's cool that they're experimenting with this, I guess, but it doesn't exactly instill faith that the pricing model is sustainable. It's like how Google can afford to offer a bunch of free services because of the bazillions of ad dollars subsidizing everything.
        • weird-eye-issue 2 days ago
          Does anybody use it? There was a lot of hype on Twitter when it first came out and I haven't heard a single thing since then. Who wants to install that on a VPS and be responsible when it goes down when they could just use a Discord server or Slack?
          • phartenfeller 1 day ago
            This definitely depends on the use-case. But not having to rely on a foreign service and owning your data is huge for many people. Additionally slack is super expensive for a paid tenant that does not delete your chat history. And some day in the future Discord will surely enshittify their free options too.
  • vivzkestrel 2 days ago
    As genuine feedback, you have a long way to go. First of all, plausible can be self hosted and it won't cost you a dime. Secondly, there are atleast 50 analytics services out there that are self hostable and they clearly indicate what features they provide. It is good expect value for your efforts but the other person buying for 49$ also needs to see value. Perhaps add a list of features, some GIFs, screenshots of your analytics tool in action showcasing various parts?
    • Timwi 2 days ago
      GIFs??
      • mathgeek 2 days ago
        What is you question here? Plenty of sites use animated images rather than video to demonstrate their product.
      • vivzkestrel 2 days ago
        create GIFs to show common use cases that analytics users would actually expect like out of all the people that came to my website, how many of them signed up, or how many of them added something to the cart and did not buy etc. Add GIFs that showcase the dashboards from your product for these actions
  • grenran 2 days ago
    > Problem is, I didn't feel like paying 9$ a month to see the amount of visitors on a website i didn't even earn anything on

    You can self-host Plausible yourself if you don't feel like paying $9 a month.

    • otherme123 2 days ago
      I'm doing this, is relatively easy if you are used to docker, and one instance can be used to track multiple small sites.

      My problem with self hosted Plausible is that the backup-restore of the clickhouse db isn't as easy. If my service blows, I currently have to start the stats from zero.

      • debian3 2 days ago
        Is it me that doesn’t see the obvious, or backing up with docker is not as easy as it could be? VM are much easier to backup for exemple.
        • otherme123 2 days ago
          With docker you get the DB engine, in the case of Plausible is Clickhouse, and the data is up to you (is in the Docker volumes). I needed to migrate from machine A to machine B, and while redeploying Plausible engine was a breeze, I was unable to take a full backup of the Clickhouse data, and following their docs I could only get the backup file, but was unable to restore it. Then, IIRC, I did data dumps, one per table, but some dumps loaded cleanly while others refused, losing some details. OTOH, backuping and restoring the Postgres data was as easy as it Docker wasn't involved. Sumup: the problem was not Docker or Plausible, but Clickhouse.
  • udev4096 2 days ago
    Your excuse for not using plausible is foolish. It's selfhostable. The real excuse would be creating a lightweight version of it because plausible is very much resource intensive. Also the price point doesn't really make sense.
    • io84 2 days ago
      Resource intensive on the hoster or on the browser running the script?
      • me_bx 2 days ago
        From my experience, on the server side. Not so suitable if you're hosting a tiny site in a tiny server.
  • Symbiote 2 days ago
    Maybe it's behind the payment link, but I would want to see your company name and registration number and your nominated data controller.

    You should also list your data processors, for example your CDN and host.

  • Avfrosta 7 days ago
    Hello HN, realized I should introduce myself and not just my project. I building stuff on the web and this is the second time something I created actually goes LIVE.

    Before this I created a website displaying snow conditions for a few hundred locations in Sweden. I love skiing and ski-touring and wanted a better way to find the best conditions.

    Right now I don't have much time to work on my projects since I'm doing mandatory millitary service, which is part of the reason Simplytics.dev took so long to launch. But I'm hoping I might soon make my first buck selling zeros and ones.

    Id love to recieve feedback, Hugo

    • georg-stone 7 days ago
      I signed up for an account and it seems you are showing a code snippet with an API key for client-side code. How do you handle authorization? Can anybody use up my 50k events if they steal the key?
      • Avfrosta 6 days ago
        No, that key is verified against your domain connected to your user credentials. Meaning that if someone else uses you key on their website, their POST request to my server will be declined because their domain is not the domain you provided.

        But you're right, might be a good idea to change the name of the key or work it out completely, it does look like it could be a vulnerability from an outsiders persepctive.

        • solardev 2 days ago
          OP, how does this scheme work? If the client is authoritative, that means anybody can just copy that network request and spam you with fake data for that domain. Indeed, if I copy that network request and curl it with changed headers, I still get a 200, which suggests that this is the case...

          I'm also concerned about your claim for GDPR compliance. Keeping an IP address for a day and then incrementing against it is still storing personal information, even if it's not in a cookie. Using a server to do the tracking doesn't automatically exempt it from cookie notices.

          Storing the IP address for a day doesn't automatically make it non-PII, either. At the very least you should be hashing it. See what Plausible does at https://plausible.io/data-policy or read up on the GDPR discussion at https://ec.europa.eu/justice/article-29/documentation/opinio...

    • piterrro 2 days ago
      Is the ski website up? Im planning a trip to Sweden and would love to track conditions there!
  • janmo 2 days ago
    Regarding the pricing here is what I would do:

    - Unlimited and free but basic metrics are public for everyone to see (similar to what Github did before)

    - Paid but priced at page view consumption, for example: 12,000 page views a month will be charges 1.20 USD, 140,000 page views a month something like 5.20 USD etc...

    This is something I might be willing to subscribe to.

  • KomoD 7 days ago
    You haven't provided a working link to your service, you said "simplytics.dev" but that doesn't resolve to anything:

        ; <<>> DiG 9.18.18-0ubuntu0.22.04.1-Ubuntu <<>> simplytics.dev
        ;; global options: +cmd
        ;; Got answer:
        ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60075
        ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
    
        ;; OPT PSEUDOSECTION:
        ; EDNS: version: 0, flags:; udp: 1232
        ;; QUESTION SECTION:
        ;simplytics.dev.   IN A
    
        ;; AUTHORITY SECTION:
        simplytics.dev.  1760 IN SOA aragorn.ns.cloudflare.com. dns.cloudflare.com. 2358025796 10000 2400 604800 1800
    
        ;; Query time: 7 msec
        ;; SERVER: 1.1.1.1#53(1.1.1.1) (UDP)
        ;; WHEN: Mon Nov 25 16:52:36 CET 2024
        ;; MSG SIZE  rcvd: 108
    • Avfrosta 7 days ago
      Thanks a lot, seems like i forgot to point the apex domain to the www version. It should be fixed now. If not, www.simplytics.dev should work until I got it fixed.
  • probabilista 2 days ago
    Why are you trying to solve a problem that does not exist ? If you want to self host Plausible - or X, Y, or Z - you can and it’s free.

    If you want to create an analytics product and learn by doing it and sell it, that’s fine. But don’t say you did this because the problem was paying for Plausible.

  • Armandopdw 2 days ago
    Love the idea of going away from subscriptions. But to be honest, for my business I don't mind paying per month. For software that I use personally, I prefer the lifetime deals.

    Also, are you still using IP address?

  • georg-stone 7 days ago
    I would love to check out the website, but it says the site can't be reached. Sounds promising though!
    • Avfrosta 7 days ago
      Thanks! I forgot to point the naked domain to the www. version. In the meantime, try this URL instead: www.simplytics.dev
  • piterrro 2 days ago
    Curiosity: Can you share more about the header you're tracking?
  • bpfrh 2 days ago
    I would be very carefull with saying your are gdpr compliant without having talked to laywer.

    Your are basically replacing a unique identifying attribute(ip address) with a unique attribute and a maybe unique attribute, to generate a unique attribute.

    The problem is not the ip address, the problem with analytics is that your want to count unique visitors but are not allowed to track any properties of the visitor that are unique and hence a protected property of the visitor per the gdpr.

    • 3abiton 2 days ago
      It's definitely not gdpr compliant, because the identifier is still unique. Any data collected per session identifier for user interaction with the website are bound to user consent and not covered under gdpr legitimate interest.
    • mijoharas 2 days ago
      Also, specifically an IP address is considered personal information under the GDPR as far as I understand it, which the person says they're storing (for 24 hours)
  • eole666 2 days ago
    Congrats for the launch ! How does it compare to Matomo ?

    Matomo is a well known open source Analytics alternative, GDPR compliant, used by millions, and it seems to solve the same problem while being freely self-hostable and offering more features. Its cloud version price is more expensive than yours thought.

    => https://matomo.org/

  • geewee 2 days ago
    It's unclear to me based on your post, but you do realize that public IPs very much count as personally identifiable information under the GDPR, right?
    • jeffhuys 2 days ago
      Yes, and choosing to ignore this while operating inside Europe will make you susceptible for hefty fines.
    • dcanelhas 2 days ago
      Is this really the case? It's very uncommon for an IP to resolve to an actual user these days due to widespread use of Carrier-Grade Networks Address Translation (CGNAT).

      Assuming you had the public IP of an actual user though, how would you link it to a person without asking the ISP?

      • BartjeD 2 days ago
        According to case law it is personal information; Because in realistic scenario's you can use it in combination with some other data, such as from the browser headers, to identity someone with a high degree of accuracy.

        Ofcourse this evolves as the landscape changes. And it isn't always the case. But the comment is accurate.

      • solardev 2 days ago
  • wayoverthecloud 2 days ago
    So this is where the Indie developer trend is right now: open source analytics. I think I have been seeing replica of Plausible every other day. But I am glad the trend as shifted from the AI wrappers.