5 ms·
Show HN: EventNative – An open-source, user event collection service
- rp36 6y agoHow will the visualization work? Any open source tools/queries available to view the daily metrics?
- pwys 6y agoGreat question! So far our users query their metrics directly. For visualizations you should be able to plug in the opensource tool Metabase.
- ing33k 6y agoCongratulations on Shipping ! This is an interesting problem to solve . ClickHouse support will make it way more interesting. Are you planning to leverage Materialized views ?
- vklmn 6y agoWe actually working on ClickHouse integration right now, it will be shipped next week! 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!
- lolptdr 6y agoCan you remake or slow down that gif on your readme? It goes way too fast.
- pwys 6y agoJust did :)
- pachico 6y agoOk, if this project gets traction it might replace my own analytics solution based on JavaScript, Go and ClickHouse. I'll stay tuned about it. Are the maintainers in the room? I'd like to exchange some ideas.
- vklmn 6y agoMaintainers are here! (it's me, @pwys and @xtreding) Actually, we have a Slack: https://eventnative.slack.com/ https://eventnative.slack.com/ You're welcome to join!
- pachico 6y agoThanks a lot! I'll join asap!
- pachico 6y agoCan you send me an invitation to pachicodev at gmail dot com?
- pwys 6y agodone!
- pwys 6y agoLooks like that is the sign in link, here's the one to join! https://join.slack.com/t/eventnative/shared_invite/zt-gincgy2s-ZYwXXBjw_GIN1PhVzgaUNA https://join.slack.com/t/eventnative/shared_invite/zt-gincgy...
- dang 6y agoIf you're posting a Show HN here, please exchange ideas here. That's the whole point of Show HNs as well as the purpose of this site, and starving this thread of discussion is not going to help you.
- pachico 6y agoI do understand the purpose or your post and I celebrate it, however this medium might lack some of the features Slack has which makes it quite easier to follow up ideas.
- sercand 6y agoWe have in-house almost the same thing which is also written in Go. It uses gRPC and mobile clients are automatically generated by protobuf. This kind of internal service is required if you are operating a business for children and families.
- vklmn 6y agoThat's the exact reason we decided to build EventNative and opensource it. We noticed that a lot of teams are building similar platforms in house
- greg 6y agoThis is really cool. My first impression is an open-source replacement for Segment.
- pwys 6y agoThanks greg! Kind of like open-source Segment, but we focus on data warehouses as the destination. Were are you looking to send your data?
- codezero 6y agoCan't tell from the docs, but how do you deal with "stubbed" events that are triggered before segment/GA loads? Are you able to do anything to make sure your snippet loads fully before other third party scripts that might "do work"? 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?
- vklmn 6y agoWe actually ask to insert a snippet after GA / Segment initialization code. 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
- pachico 6y agoWhat I gets me wondering is that by having your own hosted solution you bypass adblockers but this implementation requires GA to be loaded, which is what adblockers block in the first place. Am I missing anything?
- pwys 6y agoWhile we do have a hook to intercept GA data, it is actually optional! You can use the self hosted JS tracker that we include with EventNative and serve it from your domain.
- kirankn 6y agoWould this be a replacement for something like Divolte? If yes, any specific reason why one should choose EventNative over Divolte, except for the "made in go" argument?
- vklmn 6y agoTook a look at their github. Great product! However, it requires Hadoop or Kafka cluster setup (=devops resourced). We designed kSense to be a simple as possible and have as few dependencies as possible. 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
- binarymax 6y agoCan you please clarify, is this for bringing lots of different analytics sources to the same location, or is it for capturing events itself? I’m having a hard time finding whether I could use EventNative by itself to capture, for example, how many visitors went to a certain page. Would I need to route google analytics through EventNative to get that type of data?
- pwys 6y agoWe actually support both! You can route everything that is captured by GA or Segment (analytics.js) through your EventNative backend in intercept mode. Or you can configure EventNative to capture all these events in direct tracking mode.
- binarymax 6y agoGreat! Looks really interesting, thanks for sharing
- buf 6y agoCan this replace Segment if I just want events to go to a postgres DB?
- pwys 6y agoYes! We rolled out Postgres as a destination yesterday. And unlike Segment we're free and hosted on your infrastructure.
- oceanswave 6y agoIs the intent for EventNative to be used as a way to capture events in an eventsourcing pattern, where custom events may be generated by microservices or other applications? A follow up if that is the case, how are schema migrations handled over time
- vklmn 6y agoNot really :( We design EventNative to collect data solely for analytics purposes. However, you still can send events from microservices as well. We're building server-2-server HTTP API and will hope that people contribute clients for popular languages
- nikhilalmeida 6y agoany comparisons with RudderStack?
- vklmn 6y agoWe anticipated that question :) 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.
- soumyadeb 6y agoRudderStack founder here. 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.
- DoctorNick 6y agoJust curious, do you also detect if content in the web page is changed or if content is blocked by adblock?
- vklmn 6y agoWe are not trying to bypass adblock. If selfhost EventNative on track.yourapp.com, AdBlock has less incentive to block JS code on yourapp.com. It doesn't look like 3rd-party tracker, just like a part of you application (you can even host it at yourapp.com/en if you reverse-proxy with nginx
- DoctorNick 6y agoUnderstood, I'm just wondering if you offer the ability to detect it and report it, not mitigate it.
- vklmn 6y agoWell, you can use EventNative and Google Analytics at the same time and just compare the numbers
- anonymfus 6y agoWhich filter should be added to uBlock Origin to block it?
- Zaheer 6y agoAlso worth checking out PostHog (open-source): https://github.com/PostHog/posthog https://github.com/PostHog/posthog 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.
- pwys 6y agoPostHog is a great project, I've actually talked to their founders in the early days and we use them! They're more similar to Mixpanel vs EventNative being n event collector focusing on processing large amount of data at scale (our first destinations were RedShift and BigQuery).
- ggregoire 6y agoWhat are the differences with snowplow? https://snowplowanalytics.com https://snowplowanalytics.com https://github.com/snowplow/snowplow https://github.com/snowplow/snowplow
- vklmn 6y agoWe solve the same problem, but with different approach: we aim for very quick-start: snowplow consist from multiple services, EventNative has everything in one service. Also, we have more destinations in pipeline, also we're going to collect data from more sources as well (Google Ads, Facebook etc). Overall, snowplow is a great product, but they build for more complicated data pipelines rather than EventNative. We want to keep things simple