# Dove Letter > Technical blog on Android internals, Kotlin deep dives, and Jetpack Compose internals by skydoves (Jaewoong Eum). Dove Letter is written by Jaewoong Eum (skydoves), the creator of widely-used open source Android/Kotlin libraries including Landscapist, Balloon, Orbital, Sandwich, FlexibleBottomSheet, and Pokedex — with 40M+ combined downloads across the ecosystem. The site publishes long-form articles that explain how things actually work under the hood: Kotlin compiler machinery, Compose runtime internals, coroutine state machines, Retrofit proxies, and library design. It also hosts Android/Kotlin interview question walkthroughs, developer quizzes, book and course material, and an MCP server that exposes content to LLM clients. ## Core - [Dove Letter Home](https://doveletter.dev/): Landing page with the latest articles, interviews, and site overview. - [Articles](https://doveletter.dev/articles): Full index of technical articles on Android, Kotlin, and Compose internals. - [Interviews](https://doveletter.dev/interviews): Android and Kotlin interview question walkthroughs with in-depth explanations. - [Quiz Hub](https://doveletter.dev/quiz): Hub for Android and Kotlin developer quizzes. - [Kotlin Quiz](https://doveletter.dev/quiz/kotlin): Interactive quiz covering Kotlin language internals and idioms. - [Android Quiz](https://doveletter.dev/quiz/android): Interactive quiz covering Android framework and Jetpack topics. - [Books](https://doveletter.dev/books): Overview of books published under the Dove Letter imprint. - [Kotlin Book](https://doveletter.dev/book/kotlin): Companion page for the Kotlin internals book. - [Courses](https://doveletter.dev/course): Hub for structured Android and Kotlin courses. - [Kotlin Course](https://doveletter.dev/course/kotlin): Structured course on Kotlin language fundamentals and internals. - [Android Course](https://doveletter.dev/course/android): Structured course on modern Android development. - [MCP Server](https://doveletter.dev/mcp): Model Context Protocol server that exposes Dove Letter content to LLM clients. - [Subscribe](https://doveletter.dev/subscribe): Email subscription page for new articles and interviews. - [Release Notes](https://doveletter.dev/release-notes): Changelog for the Dove Letter site and features. ## Articles (Public) - [LinkBuffer in Jetpack Compose: From GapBuffer to Linked Slots](https://doveletter.dev/articles/compose-linkbuffer-slottable): How Jetpack Compose's SlotTable evolved from a GapBuffer to a LinkBuffer, with internals, tradeoffs, and recomposition impact. - [Build Your Own Landscapist Image Plugin in Jetpack Compose](https://doveletter.dev/articles/landscapist-image-plugin): How to build a custom image plugin for Landscapist, including plugin architecture, reusable components, and custom transformations. - [@Preview in Jetpack Compose: Parameters and Internals](https://doveletter.dev/articles/compose-preview-internals): How the @Preview annotation renders in Android Studio, covering showSystemUi, PreviewParameterProvider, LocalInspectionMode, and the Compose pipeline. - [Kotlin Coroutines: How suspend Compiles to a State Machine](https://doveletter.dev/articles/coroutines-compiler-machinery): How the Kotlin compiler rewrites every suspend function into a CPS state machine with labels, resumeWith, generated bytecode, and continuations. - [Google Maps Bottom Sheet in Jetpack Compose (Draggable UI)](https://doveletter.dev/articles/flexible-bottomsheet-google-maps): Build a Google Maps style draggable bottom sheet in Jetpack Compose using AnchoredDraggableState with three anchors, gestures, and snap behavior. - [Compose Stability Analyzer: Live Recomposition Heatmap](https://doveletter.dev/articles/compose-stability-analyzer-heatmap): An Android Studio plugin that spots recomposition hotspots at runtime with a live heatmap and cascade view on real devices. - [Sandwich for Retrofit: Kotlin API Response Wrapper Library](https://doveletter.dev/articles/sandwich): Handle Retrofit responses with Sandwich, a Kotlin wrapper for success, error, and exception states with mappers, operators, and coroutine support. - [Kotlin Shared Internals KEEP: Cross Module Visibility](https://doveletter.dev/articles/kotlin-shared-internals-keep): Deep dive into Kotlin's Shared Internals KEEP proposal for cross module internal visibility without going public. - [Jetpack Compose Style API: Reusable Styles for Composables](https://doveletter.dev/articles/compose-styles): How the experimental Compose Style API lets you define reusable, typed style objects for composables, with examples and tradeoffs. - [How Retrofit Works Internally: Proxies, CallAdapters, OkHttp](https://doveletter.dev/articles/retrofit-internals): How Retrofit turns an interface into a live HTTP client using dynamic proxies, CallAdapters, converters, and the OkHttp call stack. ## Topics - [Android](https://doveletter.dev/articles/tag/android): Articles about Android. - [Kotlin](https://doveletter.dev/articles/tag/kotlin): Articles about Kotlin. - [Kotlin Multiplatform](https://doveletter.dev/articles/tag/kotlin-multiplatform): Articles about Kotlin Multiplatform. - [Compose](https://doveletter.dev/articles/tag/compose): Articles about Compose. - [Compose Multiplatform](https://doveletter.dev/articles/tag/compose-multiplatform): Articles about Compose Multiplatform. - [Network](https://doveletter.dev/articles/tag/network): Articles about Network. - [Architecture](https://doveletter.dev/articles/tag/architecture): Articles about Architecture. - [Performance](https://doveletter.dev/articles/tag/performance): Articles about Performance. - [Testing](https://doveletter.dev/articles/tag/testing): Articles about Testing. - [Coroutines](https://doveletter.dev/articles/tag/coroutines): Articles about Coroutines. - [Gradle](https://doveletter.dev/articles/tag/gradle): Articles about Gradle. ## Interviews - [Compose Phases](https://doveletter.dev/interviews/compose-phases): How Compose's three rendering phases — Composition, Layout, and Drawing — are ordered within a single frame, and how state reading in each phase affects recomposition. - [Composable Lifecycle](https://doveletter.dev/interviews/compose-lifecycle): How composable functions enter the Composition, undergo recomposition when state changes, and leave it — covering slot table, snapshot state observation, and skip optimization. ## Author - [skydoves (Jaewoong Eum)](https://github.com/skydoves): Author of Dove Letter, creator of Android/Kotlin libraries (Landscapist, Balloon, Orbital, Sandwich, FlexibleBottomSheet, Pokedex) with 40M+ combined downloads. ## Future (planned)