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.
Requires Android Studio, Firebase project setup, and Google services configuration.
This repository holds the official Google I/O conference app for Android, written in Kotlin. Google I/O is Google's annual developer conference featuring technical sessions and demos, and for ten years a companion mobile app helped attendees and online viewers browse the schedule and plan their day. The repository has now been archived; Google now points to a different sample, Now in Android, as its showcase project, but iosched remains useful as a reference codebase. In practical terms the app shows a list of conference events, sessions, office hours, app reviews, codelabs, which the user can filter by event type and topic, see details for, star to bookmark, and reserve a seat for. It also has a map of the venue and a Home screen that surfaces time-relevant information during the conference. The codebase is interesting because Google maintained it as a real-world example of Modern Android Development: it follows the official Guide to App Architecture, separating UI from logic via ViewModels, a repository data layer, a small domain layer of use cases, and observable data streams using Kotlin Flows. Conference data and user state live in Cloud Firestore with offline caching, user preferences live in DataStore, and there is an experimental migration to Jetpack Compose on a separate branch. You would clone this repo to study how a real Android app combines these pieces, Hilt for dependency injection, the Navigation component, Room with full-text search, Espresso and JUnit for testing, the Jetpack Benchmark library for startup measurement, and several Firebase services. It is built with Gradle using Kotlin build scripts. The full README is longer than what was provided.
Generated 2026-05-21 · Model: sonnet-4-6 · Verify against the repo before relying on details.