Current role
IraniLink
Head of Engineering
Leading a Farsi-first, bilingual community platform across web, native mobile, data and human-in-the-loop AI operations.
Head of Engineering · Staff Android Engineer · AI Systems
More than 10 years of hands-on Android engineering and technical leadership across betting, streaming, news, travel, telecom, sports and finance.
01 / Selected experience
A career built inside real consumer products, where architecture, delivery and operational constraints all matter.
Current role
Head of Engineering
Leading a Farsi-first, bilingual community platform across web, native mobile, data and human-in-the-loop AI operations.
End-to-end product
KMP Product Engineer
Designed, built and operate a Persian word puzzle with shared Kotlin product logic, now published for Android, iPhone and iPad.
bet365
Lead Android Developer
Delivered regulated Android platform work and co-created FollowScores from inception with Jetpack Compose, Kotlin, Material 3, modular boundaries and release readiness built in.
Candyspace / ITVX
Lead Android Developer
Modernised the mobile and tablet codebase, moved key flows to Coroutines and Hilt, delivered Compose modules and contributed to a 30% startup-time improvement.
02 / Practice
Kotlin, Jetpack Compose, modular architecture, performance work and release-ready engineering for established consumer products.
Shared product logic where it earns its place, with native Compose and SwiftUI experiences that respect each platform.
Technical direction, mentoring and pragmatic decisions that connect product intent to reliable execution.
03 / End-to-end KMP product
I designed, built, published and continue to operate this Persian word puzzle. Kotlin Multiplatform carries the reusable product and game logic, while the live app covers the complete loop from interaction design and Persian-language detail to release and iteration.
04 / Notes & reading
Original writing sits beside a short, stable reading list for Android, Kotlin Multiplatform and iOS. No release ticker or automated news feed.
AI will remove tasks, compress teams and change the engineering ladder. The durable advantage is not typing code faster; it is owning outcomes.
Before shipping model-assisted behaviour, pressure-test user value, failure modes, privacy, observability, human control, cost and long-term ownership.
Android
A practical baseline for layered Android systems, unidirectional data flow, state holders and clear module boundaries.
Use it to align a team on responsibilities and dependency direction before debating frameworks.
Kotlin Multiplatform
Shows how common source sets, hierarchical sharing and expect/actual declarations create deliberate cross-platform boundaries.
Read this before deciding what should be shared and what should remain native.
iOS & SwiftUI
Connects SwiftUI views to observable model data while preserving a clear separation between presentation and application state.
A concise reference for keeping state ownership legible as SwiftUI screens grow.