Show HN: EventNative – An open-source, user event collection service
github.com
github.com
This kind of internal service is required if you are operating a business for children and families.
I guess put more simply, do you need to do work when implementing to make sure you don't miss any of the existing events being captured, or does this rely on the same developer implementing all three?
The algo is a follows: a) check if ga / analytics object is present b) add interceptor c) if the code was fully loaded (not a stup), send "fake" pageview event (which has been already sent), intercept it and send to EN backend only (not the original backend).
Also, we received a pull request that won't require EN code be inserted after GA/Segment. It tries to get window.ga/analytics object. If it doesn't exist, try the same thing in 1 second via setTimeout. We most likely with merge it to master soon
This is an interesting problem to solve .
ClickHouse support will make it way more interesting.
Are you planning to leverage Materialized views ?
Re: materialized views - since not all DWH support them, we're not sure how can we leverage them. However, what do you have in mind? Maybe we're wrong!
Overall, snowplow is a great product, but they build for more complicated data pipelines rather than EventNative. We want to keep things simple
We just got it setup and it goes a bit further than EventNative by including a frontend interface. It's more akin to Heap and a superset of most of what EventNative has.
Besides, if you want to data to land at BQ/CH or RedShift with Devlot, you'll need add a 3rd-party Kafka->DWH layer. I'm pretty sure there'are many oss options. Not sure if they can automatically generare SQL schema from JSON object like EventNative
RudderStack is focusing on replacing Segment.com completely, we focus only on a part of the problem: getting events to DWH. Also, we don't have a UI.
By narrowing down the focus, we think we can do a better job sending data to DWHs. One example: we automatically create SQL schema based on JSON structure. You can send
{ "any": { "custom": "a", "field": "b" } }
To EventNative and we'll create any_custom and any_field columns in DWH table on a fly.
Because we are Segment event structure/API compatible, there is an inherent structure in events. You can pass arbitrary JSON but only inside the properties or traits field of track/identify call. We do automatically create the schemas for those cases.
Congrats on your launch!! Glad to see more projects in this space. Would love to checkout your repo and share ideas etc.