p.enthalabs

Show HN: Repobeats – self-hostable GitHub activity cards in Rust

repobeats.com · Read Story HN original

Hi HN,

I built Repobeats, an open-source, self-hostable service that renders GitHub repository activity as embeddable SVG cards.

Demo: https://repobeats.com/AprilNEA/OpenLogi

Source: https://github.com/AprilNEA/repobeats

I had been using Axiom’s Repobeats, but noticed that some cards I relied on were no longer updating consistently. The original service is still online; I wanted an alternative where I could inspect and control the collection, storage, caching, and rendering pipeline.

Repobeats runs as a Rust backend built with Axum and SeaORM. A repository owner opts in by installing a read-only GitHub App. The service then collects commits, issues, pull requests, and repository metadata. GitHub installation tokens are short-lived and are never stored.

The generated cards support multiple themes, sizes, and time ranges, and use ETags and cache headers for browser/CDN caching.

For self-hosting, SQLite is enough for a small single-instance deployment. PostgreSQL is supported for multi-instance deployments, with optional Redis caching in addition to the in-process cache.

One important constraint: repositories must explicitly opt in by installing the GitHub App. Cards are public once connected. This also applies to aggregate activity collected from private repositories, so private repository owners should only connect repositories whose aggregate activity they are comfortable exposing.

The project is still early, and I’d especially appreciate feedback on:

- the GitHub App installation and opt-in flow

- the usefulness and design of the generated SVG

- deployment and refresh scheduling across multiple replicas

Comments

No readable comments yet.