[HN Gopher] Show HN: Apitally - A simple, privacy-focused API mo...
       ___________________________________________________________________
        
       Show HN: Apitally - A simple, privacy-focused API monitoring and
       analytics tool
        
       G'day Hacker News, I'm Simon Gurcke, the sole founder of Apitally
       (https://apitally.io).  I'm building a simple API monitoring and
       analytics tool for Python / Node.js apps. It helps users understand
       API usage and performance, spot issues early and troubleshoot
       effectively when something goes wrong.  Features include:  -
       _Dashboards:_ Provide insights into API traffic, errors,
       performance and consumers.  - _Request logging:_ Opt-in and highly
       configurable in terms of what data is logged. Users can drill down
       from aggregated metrics to individual requests (proven to be super
       helpful when troubleshooting issues).  - _Custom alerts:_ Based on
       14 different API metrics with notifications delivered via email,
       Slack or Microsoft Teams.  - _Validation error tracking:_ Captures
       metrics about which fields failed validation and why. Works for web
       frameworks with built-in validation (e.g. FastAPI with pydantic),
       or that integrate with popular third-party validation libraries
       (e.g. Zod for Hono).  - _Server error tracking:_ Captures exception
       details and stack traces for 500 error responses. An integration
       with the Sentry SDK also captures event IDs, allowing users to
       click through to the relevant Sentry issue for more context.  I
       first started developing Apitally to scratch my own itch. While
       working at a health tech company where I was responsible for API-
       based software products, I became frustrated with the monitoring
       tools we had in place - Datadog and the ELK stack. They were too
       complex for my API-centric use cases, and often a pain to use.  As
       a result, I focused on making Apitally as simple as possible. This
       involved not just refining the UX of the dashboard, but also
       optimizing the developer experience with the open-source SDKs:  -
       https://github.com/apitally/apitally-py - Python SDK (supports
       FastAPI, Flask, Django, Litestar, Starlette)  -
       https://github.com/apitally/apitally-js - Node.js SDK (supports
       Express, NestJS, Fastify, Koa, Hono)  My other focus was on data
       privacy, as that is a strict requirement in the healthcare
       industry. By default, Apitally doesn't capture any sensitive data -
       metrics are aggregated on the client side (similar to Prometheus)
       and sent in the background in regular intervals.  The hardest part
       has been implementing integrations for various web frameworks and
       supporting a wide range of versions. I learned a lot about the
       inner workings of web frameworks in the process. Good test coverage
       and an extensive test matrix were really important to not break
       people's production APIs with buggy middleware.  Apitally's backend
       is built in Python and runs on a small Kubernetes cluster on
       DigitalOcean. It uses PostgreSQL and ClickHouse to store data and
       NATS JetStream as a message queue. I chose NATS for being
       lightweight and its exactly-once processing capabilities. I'm also
       impressed by ClickHouse's performance given the low hardware specs
       of my server (4 vCPUs, 8 GB RAM).  Apitally is free to use for
       small hobby projects (with limitations), and I offer two paid tiers
       for $39 and $119 (USD) per month. The dashboard has a demo mode,
       allowing people to explore the product without having to set up
       their own app first.  Thank you for reading about my bootstrapped
       indie product. Please let me know your thoughts and questions in
       the comments.
        
       Author : itssimon
       Score  : 35 points
       Date   : 2025-02-03 06:07 UTC (2 days ago)
        
 (HTM) web link (apitally.io)
 (TXT) w3m dump (apitally.io)
        
       | itssimon wrote:
       | By the way, I'm planning to add support for more frameworks and
       | languages, hopefully with help from the community.
       | 
       | At the top of my list are Laravel (PHP) and Spring (Java), but
       | I'm keen to hear what other frameworks would be popular here.
        
         | cazzo3 wrote:
         | Looks great. Have you considered Go? We're using Gin at work...
        
           | itssimon wrote:
           | Yes, support for Go has been requested a few times and is on
           | the roadmap!
        
         | arkh wrote:
         | > Laravel (PHP)
         | 
         | You may want to do something compatible with other php
         | frameworks. At least Symfony as it is the base for API
         | platform.
        
       | nickittynack wrote:
       | Looks pretty polished for a solo dev nice work. Datadog is pretty
       | pricy these days and this seems to cover 99% of the use cases.
       | Thanks for the free tier
        
         | itssimon wrote:
         | Thanks, I appreciate the feedback! Datadog is obviously super
         | powerful, maybe partially warranting the price tag, but most of
         | the time the gazillion features just confuse me to the point
         | that I don't want to use it.
        
           | AutistiCoder wrote:
           | ah, makes sense.
           | 
           | fewer features can actually be better because it's simpler.
        
       | vanschelven wrote:
       | Given the focus on privacy you might be interested in connecting
       | with Bugsink[1] also (Self-hosted Error Tracking, Sentry API
       | Compatible). Feel free to reach out.
       | 
       | [1] https://www.bugsink.com/
       | 
       | ----- disclosure: as implied by "feel free to reach out": I'm
       | Bugsink
        
         | itssimon wrote:
         | A bit off-topic, but I'm curious. What are the benefits of
         | Bugsink over Sentry? Sentry can also be self-hosted.
        
           | armanckeser wrote:
           | > I'm Klaas, the solo founder and developer of Bugsink.
           | Bugsink started when I tried to self-host Sentry for a
           | colleague and realized it was more trouble than it was worth.
           | I built Bugsink as a drop-in replacement that's easier to set
           | up and works on affordable hardware. Now, it's my full-time
           | focus.
           | 
           | In the about page. I do agree Sentry self hosting can be a
           | nightmare
        
             | hiatus wrote:
             | Sentry is comprised of many services but it has been
             | running just fine on a t3.xlarge for over a year for my
             | team. _shrug_
        
       | armanckeser wrote:
       | For a solo dev project this looks great and good luck with it!
       | But am I correct to understand this can't be self-hosted/is not
       | open source? To me "privacy-focused" is pretty much synonymous
       | with open source and self hostable but I am curious if I missed
       | something or if the community thinks otherwise.
        
         | itssimon wrote:
         | Thank you! The SDKs are open-source, which I believe is the
         | most important part. Users can verify how the integrations work
         | and exactly what data is collected.
         | 
         | To me, privacy-focused also means to avoid collecting sensitive
         | data in the first place. I'm hoping that mostly negates the
         | need for self-hosting, in the spirit of keeping things simple
         | for users.
         | 
         | That said, I'm definitely considering to support self-hosting
         | in the future as well, and possibly open-sourcing the rest of
         | the codebase.
        
       | eptcyka wrote:
       | Did you ask the Italians before putting them behind an API?
        
       ___________________________________________________________________
       (page generated 2025-02-05 23:02 UTC)