[HN Gopher] Show HN: EventNative - An open-source, user event co...
       ___________________________________________________________________
        
       Show HN: EventNative - An open-source, user event collection
       service
        
       Author : pwys
       Score  : 185 points
       Date   : 2020-08-11 14:03 UTC (8 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | buf wrote:
       | Can this replace Segment if I just want events to go to a
       | postgres DB?
        
         | pwys wrote:
         | Yes! We rolled out Postgres as a destination yesterday. And
         | unlike Segment we're free and hosted on your infrastructure.
        
           | buf wrote:
           | This is going to save me $1,000s per month. Thank you so
           | much. Is there a good way to give back?
        
             | pwys wrote:
             | Spread the word and send us a pull request sometime :)
        
       | greg wrote:
       | This is really cool. My first impression is an open-source
       | replacement for Segment.
        
         | pwys wrote:
         | Thanks greg! Kind of like open-source Segment, but we focus on
         | data warehouses as the destination. Were are you looking to
         | send your data?
        
       | oceanswave wrote:
       | Is 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 wrote:
         | Not 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
        
       | binarymax wrote:
       | Can 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 wrote:
         | We 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 wrote:
           | Great! Looks really interesting, thanks for sharing
        
       | nikhilalmeida wrote:
       | any comparisons with RudderStack?
        
         | vklmn wrote:
         | We 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.
        
       | ing33k wrote:
       | Congratulations 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 wrote:
         | We 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!
        
       | rp36 wrote:
       | How will the visualization work? Any open source tools/queries
       | available to view the daily metrics?
        
         | pwys wrote:
         | Great question! So far our users query their metrics directly.
         | For visualizations you should be able to plug in the opensource
         | tool Metabase.
        
       | lolptdr wrote:
       | Can you remake or slow down that gif on your readme? It goes way
       | too fast.
        
         | pwys wrote:
         | Just did :)
        
       | kirankn wrote:
       | Would 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 wrote:
         | Took 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
        
       | codezero wrote:
       | Can'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 wrote:
         | We 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 wrote:
           | What 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 wrote:
             | While 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.
        
       | pachico wrote:
       | Ok, 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 wrote:
         | Maintainers are here! (it's me, @pwys and @xtreding) Actually,
         | we have a Slack: https://eventnative.slack.com/ You're welcome
         | to join!
        
           | pachico wrote:
           | Thanks a lot! I'll join asap!
        
           | dang wrote:
           | If 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 wrote:
             | I 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.
        
           | pachico wrote:
           | Can you send me an invitation to pachicodev at gmail dot com?
        
             | pwys wrote:
             | done!
        
           | pwys wrote:
           | Looks like that is the sign in link, here's the one to join!
           | https://join.slack.com/t/eventnative/shared_invite/zt-
           | gincgy...
        
       | DoctorNick wrote:
       | Just curious, do you also detect if content in the web page is
       | changed or if content is blocked by adblock?
        
       | sercand wrote:
       | We 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 wrote:
         | That'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
        
       ___________________________________________________________________
       (page generated 2020-08-11 23:01 UTC)