finds.dev← search

// the find

philipplackner/Runique

★ 209 · Kotlin · updated May 2026

Runique is a multi-module Android running tracker with a companion Wear OS app, built as the reference project for Philipp Lackner's paid Android Essentials course. It's for Android/Kotlin developers who want to study a production-shaped multi-module codebase (Gradle convention plugins, offline-first sync, phone-watch messaging) rather than build or ship the app itself.

Real multi-module Gradle setup with convention plugins and version catalogs in build-logic/convention, which is how large Android codebases actually avoid copy-pasted build.gradle files. The data layer is genuinely offline-first (OfflineFirstRunRepository + RunPendingSyncDao) instead of the usual toy 'call API, show list' pattern. The Wear OS module has a real messaging/node-discovery abstraction for phone-watch communication, not just a stub watch face. Feature modules (auth, analytics, run) consistently split into data/domain/presentation, so the architecture is at least internally coherent across the whole tree.

You can't actually run the app without buying the course, since it hits a proprietary 'Runique API' that only gives you a key after purchase, so cloning it gets you a codebase you can read but not exercise end to end. The README is entirely course marketing with no architecture notes, no setup diagram, and no mention of what the backend looks like or how to stand one up yourself. There's no CI workflow in the tree, so the multi-module build isn't verified on push despite its size. It's a 1:1 teaching artifact for a paid product, so don't expect it to take contributions or evolve as an open project - it's a reference to read, not something to depend on.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →