This document provides an overview of modifying and enhancing the Android OS. It describes the structure of the Android OS including applications, frameworks, Dalvik/ART runtime, libraries, and kernel. It also discusses how to build Android for a phone, what parts can be modified, and how to contribute changes back to the Android Open Source Project. The document is presented by Arnav Gupta, an undergraduate student and Android Framework Engineer at Cube26, an Indian startup focused on gesture-based features for Android.