Open-source Kotlin libraries for dependency injection, serialization, reactive state, SPAs, server frameworks, and database access. We built them for our own projects — and you can use them too.
Started as one library. Things got a little out of hand.
Kotlin multiplatform libraries that work anywhere.
Lightweight dependency injection
A DI container built around per-request scoping. Fresh containers per unit of work, dynamic services, and validated dependency graphs.
“Yes, we know there are other DI containers.”
Kotlin-first serialization
Serialization that understands nullable types, default values, and sealed classes without annotation clutter.
“Lets your objects fall asleep.”
Modify immutable data structures
KSP-generated code that lets you modify deeply nested immutable data structures with simple property assignments.
“Because copy()-hell makes developers yell.”
Reactive values
A lightweight reactive streams library for Kotlin Multiplatform. Always-has-a-value semantics, lazy subscriptions, and composable operators.
“Like RxJS, but smaller. Much, much smaller.”
Multiplatform date and time
Date, time, timezone, and range types for Kotlin Multiplatform. Built on kotlinx-datetime with rich arithmetic, formatting, and a testable clock.
“Because kotlinx-datetime is a foundation, not a toolkit.”
In-memory caching
A coroutine-based cache with pluggable eviction: TTL, max entries, or max memory. Thread-safe, multiplatform, and allocation-aware.
“It remembers things so you don't have to.”
Easing functions and distributions
28 easing functions (In, Out, InOut) with range binding and time-based animation. Four probability distributions with inverse-CDF sampling and combinators.
“Math is math and typed math is better math.”
Server-side building blocks on Ktor.
Full-stack Kotlin on Ktor
A modular server framework. Auth, REST APIs, clustering, messaging, insights, and more — wired together with Kontainer.
“Fun + Ktor = Funktor.”
Shared DBAL foundation
The database abstraction layer underneath Karango and Monko. Storable wrappers, Flow-based cursors, lazy references, and a suspend-first repository interface.
“The plumbing that makes the water flow.”
Type-safe ArangoDB queries
Write ArangoDB queries in Kotlin with compile-time safety. KSP generates the boilerplate.
“For the three of us who use ArangoDB and Kotlin.”
Type-safe MongoDB
Typed MongoDB repositories with entity hooks, lifecycle management, and Funktor integration.
“Same philosophy as Karango. Different database.”
Published on Maven Central as
io.peekandpoke.ultra