[HN Gopher] Launch HN: Freshpaint (YC S19) - an automated, retro...
       ___________________________________________________________________
        
       Launch HN: Freshpaint (YC S19) - an automated, retroactive Segment
       alternative
        
       Hello HN!  We're Fitz & Malis, the founders of Freshpaint (YC S19)
       (https://www.freshpaint.io/). Our product is a more flexible way of
       setting up your analytics and marketing tools.  With our javascript
       snippet, Freshpaint automatically instruments your site by tracking
       every behavior for you, up front. From there, you can create events
       for behaviors like clicks, pageviews, etc either through a point-
       and-click interface or code (whichever you're more comfortable
       with). In one click, Freshpaint sends data collected for that event
       - past or present - to 80+ analytics or marketing tools.  What does
       retroactive mean? Install Freshpaint's snippet today. In 6 months
       start tracking something new, and you'll have the last 6 months
       worth of data that our product has already collected. We make it
       easy to backfill that historical data into your tools.  There's two
       types of people that get the most value out of Freshpaint:  1. The
       developer that owns data infrastructure at their company, and wants
       to lighten the load through automation.  2. The non-technical
       marketer/customer success/PM (or founder!) that makes use of the
       tools that require customer data.  We both met while working at
       Heap (YC W13) - Malis led the database team and Fitz led product
       marketing. When starting Freshpaint, we were inspired by a
       phenomenon we saw while working with customers at Heap. Even though
       they used Heap for analytics, we kept seeing companies also writing
       tracking code for each behavior they wanted to use in other tools,
       either with a routing service like Segment and mParticle or
       building direct implementations and their own pipelines. Across
       analytics, product, and marketing it was common to see a dozen
       tools that required the same data including tools like Hubspot,
       Intercom, Fullstory, advertising platforms, data warehouses, and
       more.  Let's say you want to see how many users clicked your signup
       button or played a song in your analytics tools. Or you want to
       take the users who added an item to their cart and engage them in
       an automated marketing campaign. First, you have to write code to
       collect and log each behavior that you want to track. Then you have
       to send it to your marketing and analytics tools.  This requires a
       massive engineering effort and it's distracting to maintain (it's
       not uncommon to delay shipping a new feature by 2-3 weeks because
       of this tax). If you didn't track something or made a mistake, that
       data is lost forever.  Developers have to do a bunch of work that
       (1) is not core product development, and (2) they often aren't the
       ones to get value from that work because they're not the end users
       of this data. Flip this problem around and you have marketers and
       PMs that are slowed or blocked from their work, and have to
       distract developers to get unblocked.  This is painful for multiple
       teams. Fitz experienced this a few years back as part of the growth
       team at Quantcast, and he always had to work with engineering to
       instrument what he needed to trigger marketing flows and or get
       analytics telemetry on his experiments.  We built Freshpaint to
       lighten the load and streamline the workflow for both groups. How
       it works:  1. Install Freshpaint's javascript snippet on your site.
       It takes 60 seconds, and from that point Freshpaint collects every
       behavior like clicks, pageviews, etc.  2. Connect destinations like
       Google Analytics, Amplitude, Hubspot, Fullstory, Intercom, and a
       data warehouse. This is done by copying and pasting an API key or
       account ID. Complete integrations list here:
       https://www.freshpaint.io/integrations. We plan to build more so
       let us know what you'd like to see.  3. Create events for clicks,
       pageviews, form submissions, and more from data in Freshpaint.
       Create events thru code or point-and-click in our UI. Data is
       retroactively available back to the day you installed Freshpaint,
       regardless of when the event is created. We also support manual
       tracking and server-side tracking.  4. Send data to the
       destinations we support in one click. You can even backfill past
       data that Freshpaint has collected.  We're eager to hear your
       feedback, since we know HN has a ton of members who are familiar
       with this space from all different perspectives!
        
       Author : malisper
       Score  : 65 points
       Date   : 2020-02-21 17:06 UTC (5 hours ago)
        
       | soumyadeb wrote:
       | I remember seeing you guys sometime back on Show HN. Any change
       | in your product positioning since then? Any learnings from
       | customers?
       | 
       | https://news.ycombinator.com/item?id=21973458
       | 
       | Congrats on building this. This is awesome and much needed.
        
       | xmly wrote:
       | Segment + a universal no-code events collector?
        
         | xmly wrote:
         | Because events collector can not make money and usually open
         | source... so have to add one ETL backend.
        
       | curo wrote:
       | One point of clarification: what counts as a user?
       | 
       | We have a product that has both public- and private-facing
       | components. If it's unique IP addresses then we'd be close to
       | your enterprise plan which seems price prohibitive. If it's an
       | authenticated user with a name, that seems much different.
       | 
       | Otherwise looks great and love the point-and-click. Even though
       | creating events is easy, it saves the back-and-forth with
       | development.
        
         | fitzrocks wrote:
         | When a user visits your site, we give them a cookie with a
         | unique user ID. We determine the number of users you have based
         | on the number of distinct user IDs we've seen.
         | 
         | We're definitely conscious of user-based pricing, and we'll try
         | to work with you to come up with a price that allows you to use
         | Freshpaint across your entire site. We've done this with others
         | that have funky business models where traffic is high in some
         | spots. Otherwise, you can install Freshpaint just on the
         | private component of your site and collect data where it's the
         | most valuable.
        
           | jakearmitage wrote:
           | What about bots?
        
       | jakearmitage wrote:
       | Without more integrations, it's a hard thing to sell. Salesforce?
       | Dynamic Yield? BounceX? Emarsys?
       | 
       | Also, how does it work with native mobile apps? No catch-all
       | collector?
        
       | vosper wrote:
       | How does the point and click UI generate event targets? At my
       | work we use Pendo which sounds very similar to Freshpaint.
       | Pendo's UI generates CSS selectors. Problem is that we use CSS
       | modules and our class names include a hash, so they change
       | frequently. Also our classes aren't designed to communicate the
       | semantics the Product team is trying to capture, and there's also
       | no way for Pendo to know that the selector it generated uniquely
       | captures whatever event the user wants - it's entirely possible
       | that the same selector could occur on a different screen.
       | 
       | We've been asked to "stabilize" our class names for the product
       | team, so that Pendo doesn't "break", but we have resisted as
       | fundamentally this is not what CSS is meant for. Nonetheless we
       | now have an invisible, undocumented coupling between our
       | application internals and Pendo.
       | 
       | IMO the only way this kind of event tracking can be done right is
       | if developers and Product communicate and the devs, who
       | understand the code, put the tracking in the right place.
       | 
       | I'd encourage you to bless a "data-freshpaint" attribute as the
       | preferred way to link events to your system, if the way it
       | currently works is CSS selectors.
        
         | malisper wrote:
         | > I'd encourage you to bless a "data-freshpaint" attribute as
         | the preferred way to link events to your system.
         | 
         | If you want to go through with this, you can do this already
         | with CSS classes. You can have classes like "freshpaint-login",
         | "freshpaint-checkout", etc.
         | 
         | > IMO the only way this kind of event tracking can be done
         | right is if developers and Product communicate and the devs,
         | who understand the code, put the tracking in the right place.
         | 
         | If you have the resources to do this, I highly recommend you
         | setup manual tracking. In Freshpaint, we give you the ability
         | to fall back to manual event tracking if you want it. The thing
         | is most teams don't have the resources to write tracking code
         | for everything, so a lot of the time it just doesn't get done.
         | We commonly hear it takes 3-6 months to get Segment fully
         | setup, and even then you have to constantly write new tracking
         | code as you launch new features.
        
           | vosper wrote:
           | True, you could dedicate CSS classes like that. I'm really
           | talking about separation of concerns: CSS is for styling, not
           | communicating user intentions to external systems. A data
           | attribute is better, and you could program the selector-
           | creator to prefer those attributes if it can find them.
           | 
           | That doesn't help with after-the-fact attribution, though.
           | That's where using existing CSS classes really shines. With
           | the huge proviso that you have to be sure the CSS selector
           | you're using really captures (and only captures) the action
           | you're trying to track. I suspect it's easy to get this wrong
           | and end up with skewed analytics.
        
         | zebnyc wrote:
         | Jesus, events tied to css-selectors sounds like a recipe for
         | disaster
        
           | malisper wrote:
           | It's worked perfectly fine for Heap. Especially since Heap
           | and Freshpaint capture every event out of the the box, if
           | tracking ever breaks due to something like a site redesign,
           | you can recover all the data you missed out on.
        
       | polskibus wrote:
       | Could you compare your product to PostHog that has also launched
       | on HN recently ?
        
         | malisper wrote:
         | They're pretty different tools. If anything, you would use
         | Freshpaint to send data into PostHog.
         | 
         | PostHog is an analytics tool. Once you have data in PostHog,
         | you can run queries against the data to produce various charts
         | and graphs. Other analytics tool include Mixpanel, Amplitude,
         | and Heap. The primary reason you would use an analytics tool is
         | you want to ask questions about your users.
         | 
         | Freshpaint is a data collection tool. We automatically collect
         | data from your site such as clicks, pageviews, etc. You can
         | then use our UI to send that data to different tools. We
         | integrate with the large analytics tools and also a ton of
         | marketing tools like Intercom and HubSpot. There are two
         | reasons you would want to use a tool like Freshpaint:
         | 1) It's easy to collect data. Freshpaint instruments your
         | entire site, so you don't have to.       2) It's easy to send
         | the data to different tools. Once a piece of data is in
         | Freshpaint, you can send it in one click to any of your
         | analytics and marketing tools.
         | 
         | Does that make sense?
        
       | zebnyc wrote:
       | Firstly, congrats on the launch.
       | 
       | Please let me know if I am wrong but it seems the major
       | differentiator from Segment is (3) as you can do the 1,2 and 4
       | with Segment. And even with (3) the only difference is the way
       | the events are collected (through code / point-and-click). So my
       | question is whether this really needs to be an end-to-end
       | solution / competitor to Segment rather than just an adapter/
       | wrapper on top of Segment.
        
         | malisper wrote:
         | You're missing out on the whole retroactive piece! When you
         | install Freshpaint, Freshpaint starts tracking every click,
         | pageview, etc. This means Freshpaint is tracking nearly every
         | event you will ever care about from day 1. At any point in the
         | future, you can send any data Freshpaint has collected to your
         | different tools. In the same way that programmers try to
         | achieve 100% test coverage, Freshpaint achieves nearly 100%
         | "event tracking coverage" out of the box. That's not true at
         | all with Segment and it can take several months to get even
         | most of the events you care about.
        
           | zebnyc wrote:
           | I assumed that companies which used Segment would also
           | integrate with solutions like Kissmetrics and get those
           | analytics automatically through their Segment integration.
           | 
           | What am I missing here? Are you saying that Freshpaint
           | replaces Segment + Kissmetrics?
        
             | malisper wrote:
             | Freshpaint is separate from Kissmetrics. Freshpaint and
             | Segment are both data collection tools. Out of the box
             | Segment collects nothing, while Freshpaint collects
             | everything.
             | 
             | Let's say you want to send a purchase event to Kissmetrics
             | to do analytics on. With Segment that would look something
             | like:                 1) File a JIRA ticket for an engineer
             | to instrument the purchase event.       2) Wait a few weeks
             | for the engineer to write and deploy the Segment tracking
             | code.       3) Wait a few weeks to collect enough data to
             | do your analysis.       4) Run your analysis in
             | Kissmetrics.
             | 
             | With Freshpaint:                 1) Use our UI to create
             | the purchase event.       2) Send every purchase event that
             | happened since you installed Freshpaint to Kissmetrics.
             | This is possible because Freshpaint tracks every event out
             | of the box.       3) Run your analysis in Kissmetrics.
             | 
             | Does the difference make sense?
        
       | codegeek wrote:
       | Curious. Since you both worked at Heap before, is there a
       | potential conflict of interest or Non-compete that you may
       | have/had to worry about ? I don't know the details of Heap or
       | Segment but I am assuming this service is similar to them if not
       | closer ?
        
         | malisper wrote:
         | We're a Segment competitor, not a Heap competitor (we actually
         | support Heap as a destination). A significant number of Heap's
         | users use both Segment and Heap. That's actually one of the big
         | reasons we started Freshpaint. A lot of people would buy Heap
         | for product analytics, but they would still setup manual event
         | tracking for Segment for their other tools. We started
         | Freshpaint so you won't need to setup event tracking at all.
        
         | wgerard wrote:
         | Completely unaffiliated with any of the parties involved but
         | recently familiar with both Heap and Segment:
         | 
         | Segment (and presumably this solution) is more like an event
         | mux/demux. All your disparate event sources connect in, and you
         | send the data to places like Heap to visualize it. Segment's
         | value is acting as a central, common location for your event
         | data.
         | 
         | Heap's primary value is visualization/analysis for things like
         | retention/etc. You can collect data directly through Heap as
         | well but I wouldn't say that's the primary value of it.
        
         | turbostyler wrote:
         | Enforcing a non-compete against non-founders in California is
         | pretty much impossible.
        
       | technics256 wrote:
       | Would this work for React Native?
        
         | malisper wrote:
         | Not right now, although we have plans to build a React Native
         | integration in the future.
        
       | lapnitnelav wrote:
       | Hey sounds brilliant, congrats on the launch.
       | 
       | As soon as I heard of Segment, I knew they were onto something
       | valuable and can only welcome more competition.
       | 
       | Now that I've been nice, allow me to get the plastic pitchfork.
       | 
       | I see no mention of GDPR, I assume you are going to restrict your
       | market to NA for now? What about CCPA?
       | 
       | In the same vein I don't think you have any integration with
       | open-sources alternatives to commercial software that one could
       | host on premise.
       | 
       | That's an odd choice given the shape of things to come wrt
       | privacy.
        
         | fitzrocks wrote:
         | Hey thanks for the feedback!
         | 
         | For customers that need it, we get necessary legal
         | documents/procedures in place (DPA, etc) to be compliant with
         | local regulations. We also share with customers our
         | documentation that communicates our security measures and how
         | we process customer data. You are correct - this stuff is not
         | accessible on the marketing site, we'll get there :)
         | 
         | In terms of your integrations comment: beyond the integrations
         | we have now, we prioritize new ones based on customer demand.
         | So, yes, if the market trends in the direction you mentioned
         | then we will as well. My personal take is that open source
         | alternatives are currently a small subset and it's unclear to
         | me where the future lies. I also think privacy and security get
         | conflated here sometimes.
        
       | kareemm wrote:
       | Saw your comment on the Posthog post yesterday. Sounds like you
       | felt the pain of scaling at Heap, which bodes well for FP.
       | 
       | Freshpaint looks super useful for two reasons:
       | 
       | 1. Heap-style "collect it all" and "define events in the UI"
       | features. Loved these on Heap and it should be the default
       | collector for taking dev out of the "tracking usage metrics"
       | equation
       | 
       | 2. More Segment competition. Segment's great, but super expensive
       | for business models where the # of your tracked users doesn't
       | scale with pricing.
       | 
       | I could imagine using this with PostHog for a nice product usage
       | stack.
        
         | malisper wrote:
         | > Saw your comment on the Posthog post yesterday. Sounds like
         | you felt the pain of scaling at Heap, which bodes well for FP.
         | 
         | Yep! At Heap I had to build a system to ingest a ton of data
         | and process queries over that data that returned in seconds in
         | real-time. For Freshpaint, we need to ingest the same amount of
         | data, but without the need to query it. I honestly think
         | building Freshpaint has been several times easier than building
         | Heap.
         | 
         | Early on, I had a conversation with Heap's CTO about
         | Freshpaint. He said something funny along the lines of "I wish
         | I could work on this because I would absolutely destroy this
         | problem."
         | 
         | > Segment's great, but super expensive for business models
         | where the # of your tracked users doesn't scale with pricing.
         | 
         | Definitely! This is one of the things Fitz and I noticed before
         | starting Freshpaint. It seems like until now, Segment hasn't
         | had any real competitors. Segment is kind of now known for
         | being overpriced.
        
       | divbzero wrote:
       | Congratulations on your launch!
       | 
       | I use Segment and can easily see the value in backfilling
       | historical data when adding new data destinations. Also impressed
       | with the respectable set of integrations [1] you have implemented
       | already.
       | 
       | [1]: https://www.freshpaint.io/integrations
       | 
       | What would be your plan if Segment added "backfill" as a feature
       | to their existing product? Does your "automation" also provide
       | significant advantages over Segment?
        
         | malisper wrote:
         | > What would be your plan if Segment added "backfill" as a
         | feature to their existing product? Does your "automation" also
         | provide significant advantages over Segment?
         | 
         | I don't think it's possible for them to provide the same kinds
         | of backfills we provide. At least not without completely
         | redesigning their infrastructure. In order to support
         | retroactive backfills, we capture every user action up front.
         | If Segment were to try to do that, they would suddenly find
         | themselves processing an order of magnitude more data than they
         | are today. If you want to support autotrack, you need to design
         | your infrastruture from day 1 with that in mind.
        
       | alentodorov wrote:
       | This absolutely brilliant. Been using Segment for multiple
       | project on over 1m MTUs and now at a B2B SaaS where we simply
       | can't invest in writing events for every interaction. You've
       | perfectly captured our/my pain.
        
       | mrwnmonm wrote:
       | Sorry, I am not very old :), but I didn't follow up with the
       | tools. I don't know anything other than Google Analytics. So
       | could you please explain as you would explain to a child what
       | those tools do more than GA?
        
         | malisper wrote:
         | Fitz wrote a blog post on the analytics and marketing tools we
         | recommend startups use [0]. It goes through a number of the
         | different tools and why or why not you would want to use them.
         | You should check it out.
         | 
         | [0] https://www.freshpaint.io/blog/yc-stack-recommendations-
         | for-...
        
           | mrwnmonm wrote:
           | Thanks <3
        
       | vishalzone2002 wrote:
       | Congrats on the launch. I have been a segment user and I think
       | they also have capabilities to backfill as well as they seem to
       | be moving towards a CDP. I am struggling to see what is the
       | difference here? Or your value proposition is different
       | business/technical model ?
        
         | malisper wrote:
         | The big difference between us and Segment is we automatically
         | instrument your entire site. As soon as you install Freshpaint,
         | we are automatically capturing every click, pageview, etc,
         | performed on your site. You can create a new event six months
         | after installing Freshpaint, and you'll have access to every
         | instance of that event since you installed Freshpaint. This
         | means you:
         | 
         | 1) Don't have to delay launches so you have time to setup event
         | tracking.
         | 
         | 2) Don't have to worry about forgetting to setup tracking. A
         | common problem is a company will ship a new feature and realize
         | two weeks down the road that they forgot to track a key event.
         | They then have to setup tracking for that event and wait
         | another two weeks for data to come up. That jus doesn't happen
         | with Freshpaint. Freshpaint collects every action out of the
         | box and gives you access to that data whenever you want it.
        
       ___________________________________________________________________
       (page generated 2020-02-21 23:00 UTC)