TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Launch HN: Avo (YC W19) – Minimize Human Errors When Implementing Analytics

66 pointsby stefaniabjeabout 6 years ago
Hi HN! We’re Árni, Sölvi, Thora, and Stef – from Iceland. We make Avo (<a href="https:&#x2F;&#x2F;www.avo.app" rel="nofollow">https:&#x2F;&#x2F;www.avo.app</a>), a tool built to minimize human errors and overhead when implementing analytics. We’re going for “simple made easy” for maintaining tracking for cross platform consumer products, where a 1% change in conversion funnels makes a difference. It’s a code-generated, type-safe tracking library to accurately implement analytics events that are defined and maintained in a single-source-of-truth web app.<p>We’re solving a personal pain point of broken analytics and how much effort it was to have an overview of what was being tracked across product teams and platforms. We all worked together on a game called QuizUp (100M+ users) where we used metrics to make decisions. The problem was we repeatedly “broke” conversion funnels and retention charts we relied on when we shipped product updates, by mistakenly removing or changing analytics implementation.<p>It was driving everyone involved mad – so we built internal dev tools and processes that made implementation easier and our data more reliable. What we built was never perfect, and it was clunky in many ways:<p>1) There was no one that really <i>wanted</i> to maintain this – but developers ended up agreeing to maintain it because it was better than the alternative of frustrated data scientists requesting a fix for analytics implementation that the developers worked on weeks or months ago.<p>2) JSON files (or the crappy web apps we invested time in building on top of the JSON schemas) didn’t give us a “human-accessible” overview of what was being tracked and when. So people who weren’t working on analytics every day had no idea what data they should look at to dig into user behavior.<p>We also discovered that a lot of companies build similar stuff – i.e. some version of internal tools for data validation, either through code gen or through server-side validation, often based on JSON schemas. The same seems to apply for those companies; it’s clunky to update, doesn’t give a proper overview, and no one <i>wants</i> to maintain it – yet it beats the alternative of not having it.<p>So now, six years after we started maintaining tools like these internally, we’ve built Avo, to solve these issues for more people.<p>Here’s how it works:<p>1) The web app is built to optimize the experience of maintaining and version controlling complicated event schemas. That means a few things, for example:<p>- we built a “differ” that feels similar to git, but instead of line-based diff, it’s object-based<p>- when you make updates, Avo gives you suggestions to maintain casing and reuse properties across events.<p>- you can view the historical change of each object similar to Asana tasks<p>2) The code gen is optimized for bringing type safety and rigour to analytics implementation:<p>- You install a CLI to easily update (`avo pull`) your tracking library according to the latest version of the event schema. The generated code contains a type-safe function per each event.<p>- For example: A &quot;Cart Updated&quot; event with an &quot;Item Count&quot; property, would generate `cartUpdated(itemCount: Int)` for Swift. For dynamic languages, as well as for limitations which cannot be expressed through type systems, such as min &#x2F; max, the runtime validation logs warnings or errors for data structure errors.<p>Things to note:<p>- Avo does not store, process or access your data – so no GDPR approval required.<p>- The Avo code generated libraries wrap whatever analytics SDK you already use. You can use the Avo library alongside the tracking you already have, or do a full migration to make sure all your events are according to the specs in Avo.<p>- Avo is not another analytics or data pipeline vendor. We love the ones that exist already. We’ve just built Avo to make sure we can use the data we send into them.<p>Thanks for reading, HN. We would love to hear your feedback, as well as stories of when you built this internally or when you wish you had this.

5 comments

teejabout 6 years ago
I feel like Amplitude&#x27;s schema management tools are best-in-class right now but still missing a lot. I&#x27;ve been frustrated at the absence of any integration with my eng teams build&#x2F;CI systems or really any automated way to catch problems at the PR or code review stage. Is this something on your radar?<p>&gt; no one that really wanted to maintain this<p>I feel strongly that the data organization needs to own this outright, and the only thing holding them back was the right tooling. This seems like the perfect tool to enable it. Very excited to give it a spin.
评论 #19211622 未加载
lapnitnelavabout 6 years ago
Cool idea, seems like the next logical (or rather the first) step in the current analytics pipeline.<p>This being said, your doc could do with some fixing &#x2F; editing :<p>&gt; <a href="https:&#x2F;&#x2F;www.avo.app&#x2F;docs&#x2F;help&#x2F;faq" rel="nofollow">https:&#x2F;&#x2F;www.avo.app&#x2F;docs&#x2F;help&#x2F;faq</a> Bad copy pasting of &quot;Does Avo send my events to its servers?&quot; instead of &quot;Why does Avo want me to input my analytics tool API keys?&quot;<p>&gt; <a href="https:&#x2F;&#x2F;www.avo.app&#x2F;docs&#x2F;reference&#x2F;languages" rel="nofollow">https:&#x2F;&#x2F;www.avo.app&#x2F;docs&#x2F;reference&#x2F;languages</a> Those are documented in detail in TBD.<p>Best of luck.
评论 #19229511 未加载
writimovabout 6 years ago
I&#x27;m having difficulty understanding how to use this. Is there a demo &#x2F; example to view? I&#x27;m currently managing a team using Google Analytics, Facebook Pixel and Hotjar. How can I benefit from Avo?<p>From what I understand, I can use Avo to setup flows that I want to watch (like a sales conversion funnel) and make sure that the analytics tags are properly implemented across all pages of the funnel. Is that correct?<p>In the case that the sales funnel changes and a new page is added, do I need to remember to update Avo with the change?
评论 #19215215 未加载
评论 #19213311 未加载
captn3m0about 6 years ago
&#x2F;pricing is a 404. There are lots of ways this can be interpreted:<p>&gt;14 day free trial. Pricing scales with your team, not your data.<p>What are your future monetization plans?
评论 #19211677 未加载
petervandijckabout 6 years ago
Congrats on the launch, sounds like you&#x27;re solving a real issue.
评论 #19211456 未加载