Analysis updated 2026-05-18
Study how to structure a large Android app with separate data, business logic, and presentation layers.
Learn how to use Kotlin Flows to handle real-time data updates across your app.
Build a conference or event management app with session browsing, filtering, and reservation features.
Understand dependency injection with Hilt and how to write testable Android code with Espresso.
| google/iosched | android/nowinandroid | google-ai-edge/gallery | |
|---|---|---|---|
| Stars | 21,688 | 21,151 | 22,684 |
| Language | Kotlin | Kotlin | Kotlin |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 4/5 | 3/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires Android Studio, Firebase project setup, and Google services configuration.
iosched is the official Android app Google used for its annual Google I/O developer conference. The README opens with a notice that the repository has been archived as of 2023: the app shipped each year from 2009 to guide in-person and online attendees, and for over a decade it also served as an open-source sample the Android team kept current with best practices. Google now points developers at a different project, Now in Android, as the modern reference sample. In day-to-day use, the app showed attendees a browsable list of events, sessions, office hours, app reviews, codelabs, with filters by event type and topic, detail pages for each entry, the ability to star events you cared about, and (for in-person attendees) reservations to guarantee a seat. There is also a venue map, info pages to orient attendees, and a Home screen with time-relevant information during the conference itself. Architecturally, the project is interesting as a worked example of how Google recommends building a non-trivial Android app. It is written entirely in Kotlin, built with Gradle (build scripts in the Kotlin DSL), and follows the Guide to App Architecture: business logic lives in ViewModels rather than Activities or Fragments, data is observed as Kotlin Flows, and a Repository layer hides where the data actually comes from. Conference data and user state come from Cloud Firestore with offline caching, settings live in Jetpack DataStore, navigation uses the Navigation component, dependency injection is done with Hilt, full-text search uses Room, and there are Espresso UI tests, JUnit unit tests, and Jetpack Benchmark tests for startup. A separate branch experiments with Jetpack Compose.
Reference Android app from Google I/O conference showing how to build a well-structured production app with modern architecture patterns, data layers, and real-time updates.
Mainly Kotlin. The stack also includes Kotlin, Android, Firebase.
Use freely for any purpose including commercial. Keep the notice and disclose changes to the patent grant.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.