finds.dev← search

// the find

rakam-io/rakam-api

★ 793 · Java · AGPL-3.0 · updated Nov 2021

📈 Collect customer event data from your apps. (Note that this project only includes the API collector, not the visualization platform)

Rakam is a self-hosted event analytics API server — think Keen.io with SQL queries and pluggable backends. You point your apps at it to collect events, then query them via Postgresql, Presto+Kafka, or Kinesis/S3. Last commit was November 2021; this project is effectively dead.

- Pluggable backend architecture (Postgresql for small scale, Presto+Kafka+S3 for large) is well-designed — you don't get locked into one storage tier

- Event enrichment pipeline via EventMappers (geo-IP, user agent, referrer) is composable and easy to extend with custom modules

- Apache Avro serialization for the Kafka/Kinesis path is a sensible choice for schema evolution at high throughput

- Terraform AWS deployer and docker-compose definitions mean you can actually get it running without hand-holding

- Abandoned since 2021 — requires Java 8 and Postgresql 11 at minimum, both of which are past EOL; adopting this means owning a codebase with no upstream fixes

- The companion UI (Rakam UI / app.rakam.io) is a separate product that appears to no longer exist, so you get an API with no query interface unless you build one

- The Presto path depends on a version of PrestoDB that predates the Trino fork; the Kafka consumer uses the old SimpleConsumer API which was removed in Kafka 2.x

- Multi-tenancy is project-based with API keys, but the key management code is split across JDBC and in-memory implementations in ways that suggest it was never stabilized for production use

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →