In September of 2016 JetBrains started development of LLVM-based Kotlin compiler and runtime. Since then, we have reached version 0.5, which compiles to most LLVM targets (Linux, Windows and macOS as OS; x86, ARM and MIPS as CPU architectures, along with more exotic WebAssembly) and supports smooth interop with arbitrary C and Objective-C libraries. This talk will give some highlights on challenges we faced during development of this backend, with emphasis on LLVM-related topics.