Live data from Hacker News

Launch HN: Freshpaint (YC S19) – an automated, retroactive Segment alternative

news.ycombinator.com

1–10 of 56 posts

Launch HN: Freshpaint (YC S19) – an automated, retroactive Segment alternative

#1
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!

Re: Launch HN: Freshpaint (YC S19) – an automated, retroactive Segment alternative

#3
post #2

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?

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-...

Re: Launch HN: Freshpaint (YC S19) – an automated, retroactive Segment alternative

#5
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.

Re: Launch HN: Freshpaint (YC S19) – an automated, retroactive Segment alternative

#6
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.

Re: Launch HN: Freshpaint (YC S19) – an automated, retroactive Segment alternative

#7
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.

Re: Launch HN: Freshpaint (YC S19) – an automated, retroactive Segment alternative

#8
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 ?

Re: Launch HN: Freshpaint (YC S19) – an automated, retroactive Segment alternative

#9
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?

Re: Launch HN: Freshpaint (YC S19) – an automated, retroactive Segment alternative

#10
post #6

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 g…

Jesus, events tied to css-selectors sounds like a recipe for disaster
Post reply on HN