Portfolio

Things I've built on my own time.

Apps and sites I build for myself, with the source open on GitHub.

2015 — now 10k+ downloads Multiplatform Android iOS Web

Naj Autoškola

A driving-theory exam trainer, rebuilt for every screen.

The app that started it all. I published the first version on Google Play in 2015; it earned revenue and led directly to my first developer job. Today it's a Kotlin Multiplatform app that runs on Android, iOS and the web from one shared Compose codebase.

  • Adaptive layouts for phones, tablets and desktop browsers, with mouse and keyboard as first-class input
  • Question banks in three languages and a UI in four, with the official exam format for every license group
  • Stateless screens, one StateFlow per ViewModel, and repositories that hold the business rules
  • Kotlin Multiplatform
  • Compose Multiplatform
  • Navigation 3
  • Koin
  • Ktor
  • AdMob
  • Play Billing
2026 Multiplatform Android Desktop

Jellyfin Mobile

A native client for the Jellyfin media server.

A ground-up rewrite of the Jellyfin Android client, which wrapped the web client in a WebView. This one is native: Kotlin Multiplatform with a shared Compose UI for Android, iOS and desktop, talking to Jellyfin servers directly over their HTTP API.

  • One Compose Multiplatform UI shared across Android, iOS, Windows, macOS and Linux
  • ExoPlayer on Android and libVLC on desktop for video playback
  • Codec detection, media-source resolution and queue handling carried over from the original app
  • Kotlin Multiplatform
  • Compose Multiplatform
  • ExoPlayer
  • libVLC
  • Jellyfin API
2026 Multiplatform Android Desktop

Anima

A personal finance tracker for recurring costs.

A budgeting app that keeps track of what goes out every month: subscriptions, rent, bills. Written in Kotlin Multiplatform with one shared Compose UI for Android and desktop.

  • Monthly and yearly outflow at a glance, with what's coming up next and where the money goes by category
  • Costs in more than one currency, each tied to the card or account that pays it
  • A price history for every subscription, so a quiet price rise shows up as a trend
  • Kotlin Multiplatform
  • Compose Multiplatform
2026 Android

Mosaic

A small Android app that shows how I structure code.

An architecture showcase: a single-activity Compose app with a Retrofit network layer talking to a Rails backend. The point isn't the features, it's the shape — the kind of codebase I'd use on a client project.

  • Packages sliced by what a file is about
  • Three modules wired by convention plugins
  • MVVM with unidirectional data flow, one direction of dependency enforced by plugins
  • Jetpack Compose
  • Navigation 3
  • Hilt
  • Retrofit
  • Gradle convention plugins
tree-among-shrubs.com
2026 Web

tree-among-shrubs.com

This website.

A Rails 8 app with Tailwind CSS 4 — no frontend framework.

  • Self-hosted, deployed with Kamal
  • Modern and dynamic design
  • Server-rendered pages
  • Ruby on Rails 8
  • Tailwind CSS 4
  • SQLite
  • Kamal
  • I18n

There's more

The rest is in the resume and on GitHub.

Most of what I've shipped was for clients: banking apps for Erste Group and ČSOB, PropTech platforms, and a large social platform.