Yelp Alexander Dadukin and Dhriti Chawla Aug 3, 2022

Android Integration in Analytics Infrastructure

Article Summary

Alexander Dadukin and Dhriti Chawla reveal what it's like being the only 2 Android engineers supporting analytics infrastructure for all of Yelp. Spoiler: they can't see or touch what they build.

Yelp's Analytics Infra team maintains the experimentation and logging SDKs that every feature team depends on. But building infrastructure that other developers use comes with unique constraints: no UI to validate work, core dependencies that can't rely on anything else, and code that launches before anything else in the app.

Key Takeaways

Critical Insight

Infrastructure SDKs require extreme caution and independence because they're core dependencies that launch before anything else, making every release a high-stakes deployment.

The article reveals their clever workarounds for testing tools that can't test themselves, and why onpoint weeks are particularly brutal for this team.

About This Article

Problem

Yelp's Analytics Infra team ran into a wall with circular dependencies. They couldn't reuse internal modules with networking code, so they had to build their entire stack from scratch while keeping method count low.

Solution

The team built their SDKs using Kotlin, Koin, and Retrofit. This approach kept them completely independent from client repositories and aligned with current Android standards.

Impact

Two Android engineers built a lightweight, self-contained infrastructure stack that works across all feature teams. It powers experimentation and logging SDKs without adding bloat or creating dependency conflicts in the core platform.