// the find
rakam-io/rakam-api
📈 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