$ skip to content
~ home

About Dimitris Vlachos

imgcat dimitris.jpg # portrait

Dimitris Vlachos

cat about.md

Background

Senior Android engineer in Athens, Greece — nearly a decade into the craft. I work primarily in Kotlin and Jetpack Compose with opinions about clean architecture and quiet code: the kind that makes a feature feel obvious in retrospect and stays maintainable six months later. Fluent in Greek and English.

AI-assisted development is core to how I work: I build with coding agents like Claude Code day to day, write my own Claude skills to encode a project's conventions and workflows, and treat reviewing and correcting their output as its own engineering skill — an agent accelerates the work, but the judgment on what ships stays mine.

Currently

At Tapforce I ship four production apps: Parsnip, a learn-to-cook app; Builder Brigade, a home-construction project manager; Edda, an audiobook player; and Gemini Near Me, an astrology and self-development app. Parsnip, Builder Brigade, and Edda are feature-sliced — every feature a top-level package owning its own data, domain, and presentation over a shared core — while Gemini Near Me runs the classic layer-based spine; three on Hilt, Edda on Koin. Working across both DI ecosystems and both organizing principles is a useful discipline: the right architecture is always the one that fits the team and the product, not the one that won a blog post war.

The fifth codebase, Brrrr, is the multiplatform one: a personal-finance app I took through a complete Kotlin Multiplatform + Compose Multiplatform rewrite, with all logic and UI shared in commonMain and running on both Android and iOS.

Across all of them the conventions are machine-enforced rather than documented and hoped for: custom detekt rule modules, Konsist architecture-boundary tests, and CI ratchets that are only allowed to tighten.

Stack

  • Languages: Kotlin, Java (legacy)
  • UI: Jetpack Compose, Material 3, Compose Multiplatform
  • Architecture: MVVM + Clean Architecture; feature-sliced and layer-based in production
  • Multiplatform: Kotlin Multiplatform — shared Compose UI, expect/actual kept to a handful of seams, GitLive Firebase
  • Async: Coroutines, Flow
  • DI: Hilt, Koin
  • Persistence: Room, DataStore, Supabase, Firebase
  • Networking: Retrofit, OkHttp, Ktor, Apollo GraphQL (normalized cache, subscriptions)
  • Media: Media3/ExoPlayer — HLS, MediaSession playback services
  • Quality: JUnit, MockK, Espresso; Konsist architecture tests, custom detekt rules, Spotless/ktfmt
  • Tooling / CI: GitHub Actions, Fastlane, Figma
  • AI-assisted development: Claude Code, agentic coding workflows

Timeline

Tapforce — Senior Android Engineer 2022–present. Lead Android engineer owning the four production apps above end-to-end. I set the Android architecture, code standards, and review culture; drove the team's move to Jetpack Compose, Clean Architecture, and Kotlin Multiplatform; and built the enforcement layer that keeps five codebases consistent — custom detekt rules, Konsist boundary tests, CI ratchets — plus the Figma-to-code design-token pipeline behind Parsnip.

Open to

Not actively looking, but happy to talk to teams doing interesting Android work — particularly consumer apps.

dimvlachos@portfolio:~$ help

/
jump to a page or project
g h
home
g p
projects
g a
about
g n
now
g u
uses
?
this help
esc
close
>

10 results