Michal Jenicek
Senior Mobile Engineer at STRV
Actions
Michal Jeníček (MJ) is a Senior Mobile Engineer based in Central Bohemia, Czechia, with over 10 years of Android experience — all of it at STRV, a software agency where greenfield builds one quarter and legacy rewrites the next never let him get comfortable. Before mobile, he built enterprise banking applications, where correctness and reliability were non-negotiable.
He has shipped Android and Kotlin Multiplatform apps for clients including Porsche, Major League Soccer, TechnoAlpine, Otter.ai, and LegalZoom. His current focus is a strongly offline-first KMP application built on an event-sourced architecture — guided by one rule: the client witnesses, it never judges.
Michal believes the craftsman's role matters more than ever in the era of AI-assisted coding: making architectural decisions, setting guardrails, and backing it all with well-written tests. He shares his experience on stage at conferences like mDevCamp or droidCon.
https://jenicek.dev/posts/aboutme
Your offline-first app is not a sync queue.
Most offline-first apps just queue writes, hope the server agrees, and call it offline by design.
We took the harder path: an event-sourced Kotlin Multiplatform (KMP) architecture where the client records immutable events, not mutable state; a separate engine derives state from them. The client witnesses; it never judges. Each event carries a version snapshot of what it touched, so on sync the server compares those columns against what changed underneath: disjoint edits auto-resolve, only real overlaps reach a human, who "defines reality" forward.
We'll follow one event from tap to server-confirmed — offline-addressable IDs and an optimistic projection that paints the UI instantly, then reconciles with no cleanup code of ours. The kicker: that same Kotlin module runs our backend, compiled to JavaScript, so the rules can't drift.
You'll leave building apps that behave the same on a plane as at a desk: no lost writes, no silent divergence, conflicts as a decision, not a merge bug.
droidcon Lisbon 2026 Sessionize Event
next.app devCon Sessionize Event
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top