3 ms·
Show HN: Gitstats - your coding stats, private and work repos, no GitHub token
Hey HN. I built this dashboard because I wanted to see how much code I write every day and how my
productivity changes.
You can preview it with seeded demo data without registering here: https://gitstats.org/demo https://gitstats.org/demo
I'm a software engineer at a startup and I constantly build my own projects, but most of my GitHub
activity is in private repos and I often was curious how much code do I produce in total and how do
I compare to my colleagues/friends. So I built this dashboard to show all the info you could want,
made it look cool and added some competitive aspect to it.
I'm aware that line-counts and commits are not good metrics for productivity, but it is still
interesting to track them. This is not a commercial product, just an interesting toy for developers
which can also be useful to notice trends in your work.
While building it I found that GitHub doesn't have any native API to share only the contribution
activity without requiring read or write permissions on the repos. I didn't want the app to require
any tokens with access to your repos, so I landed on a solution where an npm command
(npx @yaroslavhaidash/gitstats-cli@latest link) would count the activity using the git logs locally
and then only upload the numbers. This way no sensitive data ever leaves your computer.
To use it, simply sign in with GitHub, run one npm command and your statistics will automatically
backfill from up to one year ago. One limitation is that it will only backfill statistics found on
the device you connected, if you use multiple computers for different repos, you will have to run
the npm command from all of them.
There is more information about how it works in https://gitstats.org/docs https://gitstats.org/docs. The server is
closed-source, but https://github.com/yaroslavhaidash/gitstats-cli https://github.com/yaroslavhaidash/gitstats-cli is public and open-source with
MIT so anyone can check out how it works.
Any feedback on the mechanism or the UI is very welcome!