Post

🎉 Introducing npmchart.com Analyze npm packages (downloads, releases), Github activity (releases, stars, commits, issues, PRs), compare packages, user pages, download or copy any charts, and more!

20 reposts84 likes

Thanks! Let me know if there is anything that can be improved. Still a lot planned but at some point need to just ship and iterate 😁

Great job as always. Though, when I went to site, it said "api.npmjs.org is rate limiting this deployment." I would suggest instead telling people to login, instead of the rate limiting error.

Thanks! Sadly there doesn’t appear to be any way to increase rate limiting with NPM (unlike GitHub) via auth/token. Most of the loading is done client-side to isolate rate limiting to per-user, but it’s still very tight. I have a few server-side data fetches with caching I plan to replace soon.

Also I noticed that once I logged in, the error was gone so I thought maybe tell people to login along side the 500 error

Caching a lot of complicated caching would help, it's what I normally do in my apps. We fetch from the API once and have everything cached to memory on the server and you could even make everyone use one server cache, it'll save you a lot of API trips.

Note: been working to stay within the constraints of API rate limiting - npm (especially) but also Github. For Github you can login (which also gives you access to your star history which was recently locked down) but for npm there is no way to get a bigger quota.

For npm we leverage mostly client-side fetching to fan out the rate limiting and try to keep a high traffic user from having site-wide impact. We still have some server-side npm data loading with aggressive caching, but anticipate needing to continue to refine the approach as traffic increases.

Most of my development nowadays is human-in-the-loop AI with a good bit of iteration. The initial site took about 2 weeks of iteration before it was released, and continue to add features and improvements since. A quick look at my agent history shows over 5k+ messages (across 37 sessions atm)

It all leverages LayerChart and LayerStack under the hood, which I’ve been building for over 5 years (before and after the AI takeover).

Thanks, and 100%! (and should have called it out) npmchart.com is a re-envisioning of another project (github.techniq.dev), but oss-analytics was the strongest inspiration for it's insights, but work for any package (and github repo), more dynamic (drilldowns, link outs, etc), compare, etc

github.comProvide repo / package overview · Issue #16 · techniq/github-analysisSimilar: https://githubtracker.com/techniq/layerchart https://observablehq.github.io/oss-analytics/@observablehq/plot https://majors.nullvoxpopuli.com/q?minors=true&old=false&packages=layerchart ht...

thanks @samalrasmussen.bsky.social, I definitely plan to add more features including hiding these anomalies and smoothing over data gaps (but all optional so you can see source data / gaps). I plan to open source the code at some point as well so we can work as a community to make improvements.