explaingit

google/iosched

Analysis updated 2026-05-18

21,688KotlinAudience · developerComplexity · 4/5LicenseSetup · moderate

TLDR

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.

Mindmap

mindmap
  root((repo))
    What it does
      Conference event browser
      Session filtering and starring
      Venue maps
      Real-time updates
    Architecture
      Data layer with cloud sync
      Business logic layer
      Presentation with ViewModels
      Dependency injection
    Tech stack
      Kotlin language
      Firebase backend
      Gradle build system
      Coroutines async
    Learning value
      Separation of concerns
      Data flow patterns
      Testing practices
      Production code example
    Use cases
      Build conference apps
      Learn Android patterns
      Reference architecture
      Study Kotlin flows
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study how to structure a large Android app with separate data, business logic, and presentation layers.

USE CASE 2

Learn how to use Kotlin Flows to handle real-time data updates across your app.

USE CASE 3

Build a conference or event management app with session browsing, filtering, and reservation features.

USE CASE 4

Understand dependency injection with Hilt and how to write testable Android code with Espresso.

What is it built with?

KotlinAndroidFirebaseGradleHiltCoroutinesEspressoJUnit

How does it compare?

google/ioschedandroid/nowinandroidgoogle-ai-edge/gallery
Stars21,68821,15122,684
LanguageKotlinKotlinKotlin
Setup difficultymoderatemoderatemoderate
Complexity4/53/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Android Studio, Firebase project setup, and Google services configuration.

Use freely for any purpose including commercial. Keep the notice and disclose changes to the patent grant.

In plain English

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.

Copy-paste prompts

Prompt 1
Show me how the iosched app separates data fetching from the UI layer using ViewModels and Flows.
Prompt 2
How does the iosched codebase use Hilt for dependency injection? Give me a concrete example.
Prompt 3
Walk me through the architecture of the iosched app, what goes in the data layer vs the presentation layer?
Prompt 4
How does iosched handle real-time conference updates and user preferences with Firebase?
Prompt 5
Show me an example of how iosched uses Kotlin coroutines to manage background tasks without blocking the UI.

Frequently asked questions

What is iosched?

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.

What language is iosched written in?

Mainly Kotlin. The stack also includes Kotlin, Android, Firebase.

What license does iosched use?

Use freely for any purpose including commercial. Keep the notice and disclose changes to the patent grant.

How hard is iosched to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is iosched for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub google on gitmyhub

Verify against the repo before relying on details.