Meridian
featuredActiveCross-platform habit tracker built with Kotlin Multiplatform. Shared business logic, native UI on both platforms.
Meridian started as an experiment in sharing 60% of codebase across Android and iOS using Kotlin Multiplatform. The shared module handles networking (Ktor), local persistence (SQLDelight), and domain logic. Each platform keeps its own native UI — Jetpack Compose on Android, SwiftUI on iOS — so the app feels right on both. Offline-first sync, daily reminders, streak tracking, and a minimal widget for quick check-ins.
Deploybot
MaintainedInternal release automation tool for mobile teams. Manages build variants, signing configs, and distribution channels.
A Gradle plugin and companion CLI that automates the release pipeline for Android apps. Handles build variant selection, keystore management, ProGuard mapping uploads, changelog generation from conventional commits, and distribution to internal testing tracks. Built to reduce the friction of shipping multiple variants (staging, production, canary) across different distribution channels.
Compose Metrics Dashboard
ActiveVisualization tool for Jetpack Compose compiler metrics. Tracks recomposition counts, stability, and performance regressions.
Parses Compose compiler reports and renders them as a browsable dashboard. Shows stability status for every composable, highlights unstable parameters, tracks recomposition counts over time, and flags performance regressions between builds. Designed to be integrated into CI — generates HTML reports that can be published as build artifacts.
Castaway
MaintainedPodcast player with offline-first architecture. Background downloads, queue management, and playback speed control.
A podcast player focused on reliability and offline experience. Uses URLSession background configuration for downloads that survive app termination, CoreData for persistent queue state, and AVFoundation for playback with variable speed, silence trimming, and chapter navigation. Designed for commuters with unreliable connectivity.
KMP Starter
ActiveOpinionated project template for Kotlin Multiplatform apps. Pre-configured CI, dependency injection, and modular architecture.
A GitHub template repository for bootstrapping KMP projects. Ships with Koin for DI, Ktor + SQLDelight for networking and persistence, a modular Gradle setup with convention plugins, GitHub Actions CI with caching, and a sample feature module demonstrating the architecture. Saves about two weeks of setup time for new projects.
Logline
StableStructured logging library for Android with Timber-compatible API. Ships logs to remote collectors with batching and retry.
Drop-in logging library with a Timber-compatible API surface. Adds structured fields, log levels, batched remote shipping (to Loki, Datadog, or custom endpoints), offline queue with retry, and a debug viewer overlay for on-device log inspection. Designed for teams that need production-grade logging without rebuilding everything.