Hands-on Android engineer and technical leader with 13+ years of experience building and evolving mobile products — from AOSP-based devices and fintech platforms to real-time media applications and Kotlin Multiplatform products.
I am a hands-on Senior / Lead Android Engineer with 13+ years of experience across consumer products, fintech, banking, real-time media and custom Android platforms.
I work at the intersection of architecture, implementation and technical leadership: building mobile products, modernizing production codebases, mentoring engineers and remaining directly involved in complex engineering work. My current focus includes Kotlin, Jetpack Compose, Kotlin Multiplatform and practical AI-assisted development workflows.
Commercial experience
Building and evolving mobile products across media, fintech and Android platforms
My commercial work spans real-time media products, mobile investing, banking applications and custom Android devices — with responsibilities ranging from complex implementation to team building and technical leadership.
Led Android development for a real-time social media product while remaining deeply hands-on across video, communication features and a gradual modernization of the production codebase.
Native media processing
Built native video import and splitting with MediaCodec and MediaMuxer.
Export pipeline evolution
Evolved video assembly and export from FFmpeg toward native Android processing and later Media3 Transformer, reducing maintenance overhead and simplifying future development.
Real-time communication
Implemented WebRTC-based communication features for a media-heavy consumer product.
Complex media UI
Built a performant two-dimensional RecyclerView media grid for browsing and selecting content.
Production modernization
Led the gradual migration from MVP, Moxy, RxJava and Android Views toward MVVM, Coroutines and Jetpack Compose without stopping feature delivery.
Leadership: Led a team of 2–3 engineers, personally hired and mentored four developers and remained approximately 80% hands-on. I fostered an open, collaborative engineering environment where architecture decisions were discussed and shaped together while remaining grounded in production constraints.
BCS / BROKSTOCK
Mobile Team Lead · Product foundation and first releases
Joined at the idea and partial-UI stage as the first mobile engineer, established the Android foundation and helped build the Android and iOS teams that delivered the first product releases in around six months.
Core Android foundation
Established the application structure and foundational flows for authentication, market data, real-time WebSocket updates and chart integration.
Product delivery
Turned an early product concept into a maintainable mobile foundation while continuing to deliver user-facing investing functionality.
Cross-platform team building
Helped form parallel Android and iOS teams and coordinate delivery across the two mobile platforms.
Hiring and mentoring
Personally hired four mobile engineers and supported teams that grew to as many as three Android and three iOS developers.
Leadership: Combined team leadership with approximately 60–80% hands-on engineering, remaining directly involved in architecture, product foundations and complex implementation work.
Android platform engineering
Working below the application layer
Earlier platform roles added experience with AOSP customization, system applications, device-specific UX and production updates for custom Android hardware.
Yandex.Phone
Android platform team
Worked in a small Android platform team and independently owned development and customization work across SystemUI, the lock screen, notifications, Dialer, Contacts and major parts of the first-run device experience.
Developed Dialer, Contacts, YotaHub, E-Ink widgets and supporting SDK integrations using Binder, AIDL and Java. Delivered production YotaPhone 2 updates, including work on a major Android upgrade, and participated in YotaPhone 3 development.
Developed customer-facing mobile banking functionality as part of the Online Sales team in a multi-module Kotlin application built with RxJava, Dagger and MVP.
Product development
Delivered and evolved mobile banking functionality in a large production application used for everyday customer financial operations.
UI testing practice
Established an app-wide Android UI testing practice using Kaspresso, Kakao and UIAutomator, with reusable abstractions, helpers and rules integrated into CI.
Engineering community
Served as Acting Android Community Lead, supporting shared engineering practices beyond the immediate product team.
Hands-on technical leadership
Leading teams without stepping away from engineering
Across two product leadership roles, I personally hired eight engineers, mentored developers and helped shape architecture and delivery while remaining 60–80% hands-on.
8engineers personally hired
2product leadership roles
60–80%hands-on engineering
Team building
Personally hired eight engineers across TapYou and BCS / BROKSTOCK and helped teams grow around real product needs.
Mentoring and onboarding
Supported engineers through onboarding, code review, technical feedback and increasing ownership.
Architecture and delivery
Facilitated collaborative architecture decisions, scoped implementation work and kept technical improvements aligned with product delivery.
Complex hands-on work
Continued owning difficult media, platform and product-foundation work rather than moving into coordination-only leadership.
Cyprus Step-by-Step turns complex administrative and everyday processes in Cyprus into clear guided procedures and checklists adapted to each user’s situation.
Designed primarily for expatriates, international professionals and families moving to or living in Cyprus.
18guided procedures
209actionable steps
3languages
55source links
Swipe to view the full product overview →
The first release covers eight areas of life in Cyprus, including relocation, transport, taxation, healthcare, housing, family, work and everyday life.
I independently took the product from concept and domain research through Kotlin Multiplatform development, testing and a public Google Play release.
Product experience
From fragmented information to an actionable plan
The problem
Information about administrative and everyday procedures in Cyprus is scattered across government websites, service providers, community discussions and informational resources.
People often have to determine which requirements apply to their situation, in what order actions should be completed and where to find the relevant supporting information.
The solution
Cyprus Step-by-Step organizes scattered information into structured guided procedures.
Users answer a short set of relevant questions and receive a tailored checklist with progress tracking, reminders and direct links to supporting sources.
From a complex procedure to a personal checklist
Choose a procedure, answer a short questionnaire and receive a checklist tailored to your situation.
01
Choose a procedure
Browse or search for the process you need to complete.
02
Answer relevant questions
Provide only the details needed to determine which guidance applies.
03
Follow your checklist
Work through the generated steps, track progress and return when needed.
Swipe to follow each step →
Adaptive guidance
Questionnaire answers determine which instructions and requirements appear.
Persistent progress
Users can leave a procedure and continue later without losing completed steps.
Local reminders
Important steps can be scheduled locally without requiring an account.
Supporting sources
Relevant source links remain available alongside the instructions.
Personalization
Questionnaire-based personalization
The same procedure can generate different checklists depending on the user’s answers.
Instead of maintaining a separately hardcoded flow for every possible situation, the app evaluates shared content rules and produces the relevant ordered steps for each user.
51questionnaire questions
177atomic branching conditions
114conditional steps
682distinct checklist outcomes
9-step outcome
12-step outcome
The same First steps after arrival procedure produces different guidance for different answers.
Swipe to compare outcomes →
A shared data-driven rules model keeps outcomes deterministic while allowing new procedures to be added as structured content.
Cross-platform product
Shared product experience across Android and iOS
Cyprus Step-by-Step is built with Kotlin Multiplatform and Compose Multiplatform, allowing most of the product experience and application logic to be shared while native integrations remain isolated behind clear platform boundaries.
The product strategy prioritizes the Android release while preserving a practical iOS path without rebuilding the product as a separate codebase.
Shared product areas
Compose UI
Navigation and ViewModels
Application state and workflows
Scenario and personalization engine
Localization and persistence
Android
WorkManager reminders, notifications and application file storage.
iOS
SwiftUI application shell, UserNotifications and Application Support storage.
The shared iOS target has been validated in the simulator across UI, navigation, local storage and reminder workflows.
Android
iOS
The same shared product state presented through Android and iOS application shells.
Swipe to compare platforms →
Three-language product localization
The complete interface and all 18 guided procedures are available in English, Russian and Greek.
Shared resources, structured content and validation rules keep navigation, procedure content and generated checklists aligned across languages.
English
Русский
Ελληνικά
The same product state across English, Russian and Greek.
Swipe to compare languages →
Product completeness
Built for real procedures, not one-session browsing
Procedures can take days or weeks. The app supports multiple scenarios, persistent progress, search and local reminders.
Find the right guidance
Search helps users locate relevant procedures and individual guidance without browsing every category.
Continue and complete procedures
Checklist state is preserved locally so users can resume work and clearly see completed procedures.
Return at the right time
Local reminders bring users back to time-sensitive steps without requiring registration or a remote account.
Swipe to explore product features →
These features support procedures that span multiple sessions.
Independent product ownership
From product concept to public release
I independently took Cyprus Step-by-Step from concept and domain research through implementation, validation, localization, signing and a public Google Play release.
I turned fragmented procedures into maintainable content and designed the path from questions to actionable steps.
Product, domain and content research
Defined scope, researched Cyprus procedures and maintained the supporting information model.
Content and UX architecture
Designed scenario structure, questionnaire flow, checklist experience and information hierarchy.
Technical strategy
Selected Kotlin Multiplatform, defined shared boundaries and isolated native integrations.
Delivery, quality and release
Translated requirements into scoped implementation, reviewed changes and coordinated iterative delivery.
Technical architecture
A shared product architecture with native platform integrations
Most UI, navigation, state management, domain workflows, scenario content, localization and persistence live in the shared Kotlin Multiplatform module. Platform-specific integrations remain behind explicit Android and iOS boundaries.
Shared Compose UI
Typed Navigation + Shared ViewModels
Domain Workflows + Scenario Engine
Repositories + Versioned Persistence
Platform Abstractions
Android
WorkManager
Notifications
Application file storage
iOS
SwiftUI shell
UserNotifications
Application Support storage
The shared Kotlin Multiplatform architecture flows from Shared Compose UI through navigation, workflows, persistence and platform abstractions, then branches to Android and iOS native integrations.
Progress is stored locally as a versioned serialized snapshot with compatibility handling for stale, unsupported or corrupted data.
Dependencies are assembled through a small explicit composition root using constructor injection rather than a runtime DI framework.
Data-driven checklist engine
Structured content and conditions produce ordered checklists through shared logic.
Shared reminder lifecycle
Reminder creation, update, cancellation and state restoration follow shared workflows while scheduling is delegated to native platform implementations.
Type-safe notification navigation
Notification destinations use typed navigation data and resolve through safe fallbacks when a scenario or step is no longer valid.
Quality and delivery
Validation at every stage of implementation
The product combines automated checks, platform validation, content review and controlled AI-assisted workflow.
Quality and validation
Validation covered shared logic, platform behavior and localized content.
Automated product logic
Around 40 test files exercise shared parsing, questionnaire and checklist behavior, persistence and workflow logic.
Android device validation
Core flows, navigation, local persistence and reminders were manually exercised on a physical Android device.
iOS simulator validation
The native shell, shared Compose experience and navigation were checked in the iOS simulator.
Content and localization review
All 18 procedures were reviewed across English, Russian and Greek, including conditional paths and source links.
AI-assisted engineering workflow
Each implementation slice had a defined scope and ended with human review and platform validation.
01
Defined requirement and acceptance criteria
Define the user problem, expected behavior, constraints and reviewable scope.
02
Bounded AI-assisted implementation
Use Codex to accelerate a scoped change, not to make open-ended product decisions.
03
Automated checks and independent review
Run formatting, static checks, builds and relevant tests, then use a separate review pass.
04
Human architecture review and manual platform validation
Review changes and architecture boundaries, then confirm behavior on Android and in the iOS simulator.
Codex accelerated implementation, but product decisions, architecture, quality gates and release ownership remained mine.
Release status
Android live on Google Play, iOS ready for final validation
Cyprus Step-by-Step is publicly available on Google Play. The shared Kotlin Multiplatform product and native iOS shell are ready for final physical-device validation and release preparation.
Android
Published on Google Play
The signed Android release was validated on a physical device and published on Google Play. The production listing, signing and release workflow are complete.
The native SwiftUI shell and shared Compose experience were validated in the iOS simulator. Next steps are final physical-device validation and platform release preparation.
Native iOS application shell
Shared Compose experience validated
Final platform validation next
Technical expertise
Deep Android foundations with modern product and multiplatform delivery
My deepest expertise is in native Android engineering, supported by production experience across architecture, media, testing, platform development, Kotlin Multiplatform and technical leadership.
Android and Kotlin
Kotlin
Java
Coroutines
Flow
Jetpack Compose
Android Views
Navigation
WorkManager
Notifications
Architecture and state
MVVM
MVP
Unidirectional data flow
Clean Architecture
Modularization
Dagger and Hilt
Koin
Manual dependency injection
Data and networking
Room
Retrofit
OkHttp
RxJava 2 and 3
WebSockets
Local persistence
REST APIs
Media and real-time
Media3
ExoPlayer
MediaCodec
MediaMuxer
FFmpeg
WebRTC
Audio and video processing
Multiplatform
Kotlin Multiplatform
Compose Multiplatform
Shared ViewModels
Shared navigation
Shared domain workflows
Shared persistence
Native Android and iOS integrations
Testing and delivery
JUnit
MockK
Kaspresso
Kakao
UIAutomator
CI/CD
Code review
Release validation
AI-assisted engineering workflows
Background
Engineering education and international communication
A formal engineering foundation supports more than a decade of practical mobile development across product, platform and leadership roles.
Education
Engineer in Microprocessor Electronics
National University of Science and Technology MISiS · 2009
Languages
Russian · Native
English · B2 / Upper-Intermediate
Location
Limassol, Cyprus
Open to remote and hybrid opportunities, and on-site roles in Cyprus
Contact
Let's discuss Android and mobile engineering
I am based in Limassol, Cyprus and open to Senior / Lead Android opportunities in remote and hybrid teams, as well as on-site roles in Cyprus.