HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
rakam-io
rakam-api
Java2016–2019
rakam-io / rakam-api

rakam-api

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

2Distinct people
12Mentions
0Explicit recommenders
790GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

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

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year12 dated mentions

Observed mentions: 2016-05-09 23:55:47 UTC to 2019-12-27 14:02:01 UTC.

02462016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2019

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC202
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC413
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC606

What Hacker News says

12 sources
That's correct but there is also an alternative approach. You can track your user event data into your database using an open-source solution such as Rakam API (https://github.com/rakam-io/rakam) or Snowplow (https://github.com/snowplow/snowplow) and use a product analytics tool such as Rakam (https://rakam.io/product) that provides a set of prebuilt reports & ad-hoc reporting interface for the data on top of your database. That way, you won't be sharing your data with a third-party company, have full control over your data, be able to access an interface similar to Google Analytics with prebuilt reports and also have the ability to model your data for your custom needs and do custom reporting. Shameless plug: I'm the maintainer of the Rakam API and working for the company behind that open-source product.
In Using GoAccess for self-hosted web analytics
We also developed a product that collects the user event data via SDKs (https://github.com/rakam-io/rakam), depending on the data volume the users pick one of the two deployment types. The first one is based on Postgresql 11 and it takes advantage of partitioned tables (one table for each event time for the configured time period such as month, week, etc.), BRIN indexes, and materialized views. It's capable of handling 250M events per month without an issue but beyond that we suggest the users to use data-warehouse that supports horizontal scaling and columnar storage engine so we use Snowflake with Snowpipe, Kinesis or Kafka (pluggable) and S3. I have also tried using Clickhouse which is much cheaper but it lacks tooling for automatic scaling.
In Ask HN: What database should I use for analytics data?
That's what we do at Rakam. If you have less than ~10M events per month, Postgresql works smoothly if you use features such as partitioned tables, parallel queries, and BRIN indexes. The only limitation is that since it's not horizontally scalable, your data must fit in one server. We have SDKs that provide ways to send the event data with the following format: rakam.logEvent('pageview', {url: 'https://test.com'}) The event types and attributes are all dynamic. The API server automatically infers the attribute types from the JSON blob and creates the tables which correspond to event types and the columns which correspond to event attributes and inserts the data into that table. It also enriches the events with visitor information such as user agent, location, referrer, etc. The users just run the following SQL query: SELECT url, count(*)
Read the rest
from pageview where _city = 'New York' group by 1 All the project is open-source: https://github.com/rakam-io/rakam Would love to get some contribution!
In Ask HN: How do you manage event tracking at your workplace
That's actually what we do at Rakam. Postgresql fits in many analytics workloads with partitioned tables, parallel queries, and BRIN indexes. The only limitation is that since it's not horizontally scalable, your data must fit in one server. `it just works` up to ~10M events per month. The SDKs provide ways to send the event data with the following format: rakam.logEvent('pageview', {url: 'https://test.com'}) The event types and attributes are all dynamic. The API server automatically infers the attribute types from the JSON blob and creates the tables which correspond to event types and the columns which correspond to event attributes and inserts the data into that table. It also enriches the events with visitor information such as user agent, location, referrer, etc. The users just run the following SQL query: SELECT url, count(*) from
Read the rest
pageview where _city = 'New York' group by 1 All the project is open-source: https://github.com/rakam-io/rakam Would love to get some contribution!
In Ask HN: Good tech talks on how analytics systems are implemented?
I have an open-source project that collects the customer events via SDKs and stores it in a data warehouse. It's a distributed system, the mobile and web SDKs batch the user events on their devices and push it to our API in JSON format. The API servers enrich & sanitize the data, validate the schema, convert it to a serialized AVRO binary, and push it to a commit-log system such as Kinesis or Kafka (It's pluggable). We have another project that fetches data from Kafka & Kinesis in small batches, converts the data into columnar format and stores it in an S3 bucket / Google Cloud Storage. Then, we integrate their preferred data-warehouse into their distributed filesystem. That way they have all their raw data in their infrastructure for other systems such as fraud detection, recommendation, etc. but they have SQL access to their data as wel
Read the rest
l. That being said, this architecture is for >100M events per month. If your data is not that much, you can actually ingest your data into an RDBMS and it just works fine. We support Postgresql at Rakam and you need is the API server and a Postgresql instance in that case. Our open-source version supports Postgresql so you can look into the source code from here: https://github.com/rakam-io/rakam Would love to get some contribution. :) For the analysis part, all these metrics can be created using just SQL, the modern data-warehouse solutions (BigQuery and Snowflake) also support javascript and it's relatively easy to build funnel & retention queries that way. It requires more work but now you have more control & flexibility over your data.
In Ask HN: Good tech talks on how analytics systems are implemented?
Hey there, Could you please explain your use-case? Depending on your use-case, there are multiple solutions that fit in different use-cases. Plug & Play Solutions: Matomo: It's basically on-premise Google Analytics, it stores the data on Mysql and provides pageview & event metrics. (https://github.com/matomo-org/matomo) Countly: It's the extensible version of Matomo on top of Mongodb. While storing the raw data might not be their best bet, if you're looking for event analytics dashboard with pre-built features, it's definitely worth trying out. (https://github.com/Countly/countly-server) Self-service Solutions: Snowplow: It's an enterprise level event analytics solution. It's really extensible and it supports many different data-warehouse solutions such as Elasticsearch, Redshift, etc. but not that easy to learn & maintain. (https://githu
Read the rest
b.com/snowplow/snowplow) Rakam: Similar to Snowplow, it collects and enriches event data and stores it in your data warehouse. We support Postgresql, Snowflake, and Prestodb at the moment. Unlike Snowplow, you send the event data without defining the schema, we generate the schema on the fly for you which makes it similar to Amplitude. (https://github.com/rakam-io/rakam) Disclaimer: I'm the maintainer of Rakam.
In What are some open-source tools like Amplitude and Kissmetrics?
Data management is a hard problem because most of the companies have different requirements and culture, that's why many "data-driven" companies try to build their in-house own analytics solution. In order to address this problem, we're working on an open-source data analytics platform that let's you to collect data from anywhere and manage it easily with our cloud. Unlike many other analytics services, it solves ETL, data warehouse and BI problem transparently to you so that you can customize them for your needs. It stores your data in optimized format with a schema and allows you to query your data with both SQL and complex behavioral analytics queries via RESTFul API. Check it out: https://github.com/rakam-io/rakam
In Ask HN: What is the biggest untapped opportunity for startups?
Shameless plug: I'm the maintainer of Rakam project. You don't have to deal with all of these complexities. There are open-source projects that can setup that infrastructure for you. For example, we provide Cloudformation scripts that setup data analytics cluster for you, Kinesis, S3, PrestoDB and RESTFul API for collecting and querying data-sets so that you can use it similar to how you use a SaaS product. We also have an integrated visualization project that can connect your Rakam API and allow you to create dynamic reports and custom dashboards. You can run queries via user interface similar to Scube UI and also complex behavioral queries such as funnel and cohort queries as well as SQL. https://github.com/rakam-io/rakam
In Scuba: Diving into Data at Facebook [pdf]

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.