Available

Full-time · contract · remote & onsiteDublin, Ireland · Remote EU, UK & US

Mykhailo DzhezheloMobile Engineer · React Native · Web Developer. Mykhailo
Dzhezhelo

Mobile Engineer · React Native · Web Developer

7+ years of software development experience, including 5+ years building production mobile applications with React Native. App Store and Google Play releases, Firebase, REST APIs, GraphQL, WebSockets, offline-first apps, and React web dashboards when the product needs them.

  • 7+

    Years software development

  • 5+

    Years React Native

  • Stores

    App Store & Google Play

What I deliver

Production mobile apps for iOS and Android — shipped to the stores, maintained in production, and built with product teams.

React Native mobile apps

App Store
Google Play

Build, release, and maintain production iOS and Android apps — Firebase, push notifications, deep linking, offline storage, and App Store / Google Play releases.

react-nativeexpotypescriptfirebasesqlite
Vitadrop · Waddingtons · Amako · BetKing

React web products

React
dashboards

Analytics dashboards, admin panels, and customer-facing web UIs with React and TypeScript — integrated with REST and GraphQL APIs.

reacttypescriptreduxgraphql
Vidalytics · Education platform · Kultprosvet

Backend & APIs

Node.js
APIs

Node.js with Express, REST, GraphQL, and GraphQL Subscriptions — MySQL and Firebase backends connected to mobile and web clients.

node.jsexpressgraphqlmysql
Kultprosvet · Education platform

Live & offline features

Real-time
offline-first

WebSockets and GraphQL Subscriptions for real-time sync, offline-first field workflows, and Firebase Auth, Analytics, and Crashlytics in production.

websocketsgraphqlfirebaseoffline
Amako · Waddingtons · Vitadrop

Native integration

SDKs
Turbo Modules

Turbo Modules and native host projects when React Native needs camera pipelines, UsageStats, Screen Time APIs, third-party SDKs, or platform-specific behaviour.

turbo-moduleskotlinswiftiosandroid
Keept · Vitadrop

Delivery & collaboration

Production
support

Crashlytics-driven debugging, Jest, code reviews, sprint planning, task estimation, mentoring, and stakeholder communication on team projects.

crashlyticsjestreleasesmentoring
NetGame · Elementica · Kultprosvet

Production work

Healthcare, auctions, workforce, media, and education — React Native, Firebase, REST APIs, and real-time features.

#01Client projectReact Native · iOS & Android

Vitadrop

Healthcare mobile application with Firebase, REST APIs, camera capture, and on-device image analysis — integrated with native iOS and Android projects via Turbo Modules for third-party SDKs.

  • iOS & Androidproduction mobile app
  • StoresApp Store & Google Play releases
  • Firebaseauth & push notifications

Context

Vitadrop is a healthcare mobile application where users run tests through the phone camera. The product needed reliable auth, notifications, and camera-driven workflows on both platforms.

Problem

Camera pipelines and third-party SDKs do not fit cleanly into JavaScript alone. The app also had to ship to the stores with Firebase-backed auth and REST integrations.

Solution

Built the product in React Native with Firebase and REST APIs for core flows. Camera and SDK integration went through Turbo Modules and native host projects on iOS and Android.

Results

  • iOS & Android
    production mobile app
  • Stores
    App Store & Google Play releases
  • Firebase
    auth & push notifications
Architecture
  • React Native for product UI and flowsOne codebase for iOS and Android with shared business logic
  • Turbo Modules for camera and SDK accessNative performance and third-party SDK integration where JS is not enough
  • Firebase + REST for backend integrationAuth, notifications, and API-driven features aligned with the product stack
Technical details

Engineering focus

  • React Native app with Firebase Authentication, push notifications, and REST API integrations
  • Camera capture and OpenCV-based image analysis workflows on the device
  • Turbo Modules and native host projects for third-party SDK and platform-specific integration
  • App Store and Google Play release participation
  • Collaboration with backend developers and stakeholders on new features

Constraints

  • Healthcare workflows require consistent behaviour on iOS and Android
  • Camera and SDK integration needs native code paths
  • Release process spans App Store and Google Play

Stack

  • React Native
  • TypeScript
  • Firebase
  • REST API
  • Vision Camera
  • OpenCV
  • Turbo Modules
Trade-offs
  • Turbo Modules over pure JavaScript visionCamera frame rates and SDK APIs need native integration
  • On-device analysis over cloud-only processingLower latency and better offline behaviour during capture
Performance notes
  • Tuned camera and analysis workflows for production devices
  • Kept UI responsive during capture and processing steps
#02ClientExpo · iOS & Android

Waddington's Auctions

Production mobile auction platform built with Expo and React Native — catalog browsing, bidding, absentee bids, and two years of feature work while migrating auction functionality from web to mobile.

  • 2+ yearsproduction maintenance
  • Web → mobileauction migration
  • ProductioniOS & Android app

Context

Waddington's needed a mobile auction platform so collectors could browse lots and bid from their phone, with functionality migrated from an existing web platform.

Problem

Auction flows span catalog browsing, live bidding, and absentee bids. The mobile app had to stay maintainable over a long lifecycle while new features landed regularly.

Solution

Built with Expo and React Native, integrated with REST APIs for auction data and bid submission. Redux Toolkit kept lot lists, detail screens, and bid panels in sync across the app.

Results

  • 2+ years
    production maintenance
  • Web → mobile
    auction migration
  • Production
    iOS & Android app
Architecture
  • REST APIs for auction data and bidsServer-backed catalog and bid flows aligned with the existing platform
  • Centralized state in Redux ToolkitConsistent lot and bid data across list, detail, and bid screens
  • Expo for iOS and Android deliveryShared codebase with store release support
Technical details

Engineering focus

  • Expo-based React Native app for iOS and Android
  • REST API integration for catalog, bidding, and absentee bid flows
  • Firebase analytics and crash reporting in production
  • Redux Toolkit for auction and lot state across screens
  • Two years of maintenance, new features, and platform migration support
  • Jest tests for auction and bidding logic

Constraints

  • Long-term maintenance over a two-year engagement
  • Feature parity with web auction flows during migration
  • Production stability with Firebase crash reporting

Stack

  • Expo
  • React Native
  • TypeScript
  • REST API
  • Redux Toolkit
  • Firebase
  • Jest
Trade-offs
  • Structured Redux state over ad-hoc propsEasier to extend as auction flows grew over two years
  • Incremental migration from webDeliver mobile value while web platform remained in use
Performance notes
  • Stable list scrolling during busy catalog browsing
  • Maintained production quality through ongoing feature work
#03ClientReact Native · iOS & Android

Amako

Workforce management app for field engineers — offline data storage, WebSocket-based real-time sync, React Native upgrade, and ongoing feature delivery.

  • Offline-firstfield workflows
  • WebSocketsreal-time sync
  • RN upgrademodern release

Context

Amako is a workforce management application used by field engineers who need job data on site, often with poor network coverage.

Problem

Field teams cannot rely on constant connectivity. The app had to work offline, sync when possible, and stay on a supported React Native version.

Solution

Implemented offline storage and WebSocket sync so engineers could keep working without a connection. Upgraded React Native and delivered features without breaking existing workflows.

Results

  • Offline-first
    field workflows
  • WebSockets
    real-time sync
  • RN upgrade
    modern release
Architecture
  • Offline-first local storageField engineers need data available without a network
  • WebSockets for real-time syncLive updates when connectivity is available
  • React Native upgrade in placeModern toolchain without rewriting the product
Technical details

Engineering focus

  • Offline data storage for field workflows without reliable connectivity
  • WebSocket-based real-time synchronization with the backend
  • Upgraded the project from an outdated React Native version to a modern release
  • New features and performance improvements while preserving business workflows
  • Production support for engineers using the app in the field

Constraints

  • Unreliable mobile networks at job sites
  • Existing business workflows could not break during upgrades
  • Real-time updates needed when connectivity returned

Stack

  • React Native
  • TypeScript
  • WebSockets
  • SQLite
  • Firebase
  • Redux Toolkit
Trade-offs
  • Offline storage over online-only flowsField use cases fail without local data
  • Incremental upgrade over full rewriteLower risk for active production users
Performance notes
  • Improved app performance after the React Native upgrade
  • Maintained sync reliability across network interruptions
#04ClientReact · Analytics dashboards

Vidalytics Admin Platform

Video analytics and player management platform — analytics dashboards, player configuration, and new functionality delivered with product managers and designers in Agile sprints.

  • Dashboardsvideo analytics
  • Player configmanagement features
  • Agilecross-functional delivery

Context

Vidalytics is an admin platform for managing video players and reviewing analytics. The team needed reliable dashboards and configuration tools for internal users.

Problem

Analytics views and player settings change frequently. The UI had to stay maintainable while new business requirements landed each sprint.

Solution

Built dashboard and configuration features in React with TypeScript, integrated with backend APIs, and iterated with the product team on each release cycle.

Results

  • Dashboards
    video analytics
  • Player config
    management features
  • Agile
    cross-functional delivery
Architecture
  • React component architecture for dashboardsReusable views as analytics requirements grew
  • Typed API integrationSafer changes across dashboard and config modules
  • Agile iteration with product and designFeatures aligned with business priorities each sprint
Technical details

Engineering focus

  • Analytics dashboards for video and player metrics
  • Player configuration and management features
  • New functionality based on business requirements
  • Collaboration with product managers, designers, and engineers in Agile

Constraints

  • Dashboards must reflect live business metrics accurately
  • Configuration flows touch production player behaviour
  • Agile delivery with cross-functional stakeholders

Stack

  • React
  • TypeScript
  • Redux Toolkit
  • React Query
  • GraphQL
Trade-offs
  • Structured dashboard modules over one-off screensEasier to extend as analytics needs evolved
  • Incremental feature deliveryShip value while backend and product requirements changed
Performance notes
  • Dashboard views structured for maintainability as metrics grew
  • Configuration flows kept consistent across player types
#05ClientReact Native · iOS & Android

Audiobook Application

React Native audiobook app with audio playback, offline content storage in SQLite, and REST API integration for content sync and user management.

  • SQLiteoffline storage
  • RESTcontent sync
  • Playbackaudio features

Context

The audiobook app let users listen to content on mobile with offline access — a common pattern where playback and local storage both matter.

Problem

Users expect smooth playback and downloaded content without constant network access. The app needed reliable sync and stable audio handling.

Solution

Implemented playback and SQLite-backed offline storage in React Native, with REST APIs for sync and account management. Focused on stability through maintenance and bug fixes.

Results

  • SQLite
    offline storage
  • REST
    content sync
  • Playback
    audio features
Architecture
  • SQLite for offline contentReliable local storage for downloaded audiobooks
  • REST APIs for sync and accountsServer-backed library and user management
  • React Native for iOS and AndroidShared playback and storage logic across platforms
Technical details

Engineering focus

  • Audio playback functionality for audiobook content
  • Offline content storage using SQLite
  • REST APIs for content synchronization and user management
  • Bug fixing and stability improvements in production

Constraints

  • Playback must stay stable during background use
  • Offline downloads need consistent storage management
  • API sync must not corrupt local library state

Stack

  • React Native
  • TypeScript
  • SQLite
  • REST API
Trade-offs
  • Local SQLite over streaming-onlyOffline listening is core to the product
  • Stability work over new featuresPlayback reliability matters most for users
Performance notes
  • Improved application stability through targeted bug fixes
  • Offline storage kept library access reliable without network
#06Personal projectReact Native 0.86 · New Architecture · iOS & Android

Keept

Cross-platform screen-time app (repo: FocusGuard) — track distracting apps, warn as limits approach, and block access when exceeded. React Native 0.86 with New Architecture, codegen Turbo Module on both platforms, and native enforcement via Android foreground service plus iOS Screen Time extensions.

  • 119Jest tests
  • RN 0.86New Architecture
  • On-deviceno cloud sync

Context

Keept helps people reduce phone distraction by monitoring selected apps, nudging before limits are hit, and blocking when limits are exceeded. All limits and usage data stay on device — no account or cloud sync.

Problem

Screen-time enforcement needs OS APIs JavaScript cannot access: UsageStats and overlays on Android, Screen Time and shields on iOS. Monitoring must survive backgrounding, reboots, and permission edge cases without corrupting user trust.

Solution

React Native 0.86 with New Architecture for shared UI and business logic. A codegen Turbo Module exposes permissions, catalogs, monitor control, and config sync to platform-specific native code. Android runs a foreground service with overlay blocking; iOS uses DeviceActivity extensions and App Group shared state.

Results

  • 119
    Jest tests
  • RN 0.86
    New Architecture
  • On-device
    no cloud sync
Architecture
  • Turbo Module + platform native modulesOne JS contract; Android service/overlay and iOS Screen Time extensions implement enforcement
  • Zustand + MMKV multi-processJS and native monitor share limits and usage without a server
  • Feature folders + domain layerScreens, hooks, and permission/catalog logic stay testable and platform-split via `.ios`/`.android` modules
Technical details

Engineering focus

  • Codegen Turbo Module (`NativeUsageStats`) bridging JS to Kotlin and Swift on Android and iOS
  • Android: foreground monitor service, UsageStatsManager, overlay block, boot/unlock resume
  • iOS: Family Controls, DeviceActivity monitor and report extensions, ManagedSettings shields
  • Zustand stores persisted to MMKV — shared with native monitor via multi-process storage
  • Per-app warning and hard-block limits, strict mode, statistics with usage history (120 days)
  • Bilingual UI (en/ru), deep links (`keept://`), Firebase Crashlytics, 119 Jest tests

Constraints

  • UsageStats, overlays, and Screen Time APIs require native integration on both platforms
  • Monitor process must read the same limits as the JS app (MMKV + snapshot sync)
  • No backend — persistence and history are entirely on-device

Stack

  • React Native
  • TypeScript
  • Turbo Modules
  • Zustand
  • MMKV
  • Kotlin
  • Swift
  • Firebase Crashlytics
  • Jest
  • Reanimated
Trade-offs
  • Turbo Modules over legacy bridgeNew Architecture codegen for `NativeUsageStats`; one legacy bridge remains for Android theme sync
  • On-device only over cloud accountsPrivacy-first product — no sync infrastructure to build or operate
Performance notes
  • Debounced native snapshot sync when app selection or limits change
  • Foreground app detection debouncing on Android to avoid false block triggers
  • Reanimated theme transitions with reduced-motion support

Stack & tools

Mobile-first stack aligned with production delivery — primary tools highlighted.

Mobile · React Native

iOS and Android — Expo, releases, Firebase, offline storage, push, deep linking

Vitadrop · Keept · Waddingtons · Amako

  • React Native
  • Expo
  • TypeScript
  • Firebase
  • SQLite
  • Vision Camera
  • Push Notifications

Web · React

Dashboards, admin tools, and product UIs with React and TypeScript

Vidalytics · Education platform · Kultprosvet

  • React
  • TypeScript
  • Redux Toolkit
  • React Query
  • Zustand
  • GraphQL
  • Postman

Backend · Node.js & APIs

REST, GraphQL, WebSockets, and Firebase for mobile and web clients

Kultprosvet · Waddingtons · Amako

  • Node.js
  • Express.js
  • WebSockets
  • GraphQL
  • Firebase
  • MySQL
  • MongoDB

Platforms · iOS & Android

Store releases, Turbo Modules, and native host projects for SDK and system API access

Keept · Vitadrop · App Store · Google Play

  • iOS
  • Android
  • Turbo Modules
  • Xcode
  • Android Studio
  • Deep Linking

Production & quality

Crashlytics, releases, Jest, code reviews, and production support

NetGame · Elementica · Waddingtons

  • Firebase Crashlytics
  • Jest
  • App Store Connect
  • Google Play Console
  • Docker
  • Git

App state

Redux Toolkit, React Query, and Zustand for sync with APIs and real-time data

Waddingtons · Vidalytics · Amako

  • Redux Toolkit
  • React Query
  • Zustand
  • MMKV

Work history

7+ years software development — 5+ years focused on React Native and mobile delivery.

React Native Developer

Elementica

Uzhhorod

React NativeFirebaseREST APIsPush NotificationsVision CameraReactApp StoreGoogle Play

Vitadrop (Healthcare Mobile Application)

View project →
  • Developed and maintained a healthcare mobile application using React Native.
  • Implemented Firebase Authentication, REST API integrations, push notifications, and core application features.
  • Integrated camera functionality and OpenCV-based image analysis workflows.
  • Worked with iOS and Android native projects to integrate third-party SDKs and platform-specific functionality.
  • Participated in application releases for App Store and Google Play.
  • Collaborated with backend developers and stakeholders to deliver new features and improvements.

Vidalytics Admin Platform

View project →
  • Contributed to the development of a video analytics and player management platform using React.
  • Developed analytics dashboards and player configuration features.
  • Implemented new functionality and improvements based on business requirements.
  • Worked closely with product managers, designers, and engineers in an Agile environment.

React Native Developer

NetGame

Kyiv

React NativeExpoFirebase CrashlyticsApp StoreGoogle Play
  • Developed and maintained production mobile applications for iOS and Android.
  • Delivered new features, bug fixes, and performance improvements.
  • Investigated and resolved production issues using Firebase Crashlytics and analytics tools.
  • Supported release cycles and post-release maintenance.

Applications:

  • BetKing Casino & Sportsbook
  • 777 UA Casino

Full Stack / React Native Developer

Kultprosvet

Dnipro

React NativeReactNode.jsGraphQLExpressWebSocketsMySQL
  • Developed mobile and web applications using React Native, React, TypeScript, and Node.js.
  • Built backend services and APIs using Express, GraphQL, GraphQL Subscriptions, and MySQL.
  • Participated in code reviews, sprint planning, task estimation, and mentoring activities.
  • Worked directly with clients and stakeholders throughout the development lifecycle.

Waddingtons Auctions

View project →
  • Developed and maintained a mobile auction platform built with Expo and React Native.
  • Implemented new features and enhancements while supporting the application over a two-year period.
  • Helped migrate auction functionality from a web platform to mobile applications.
  • Maintained and enhanced a workforce management application used by field engineers.
  • Implemented offline data storage and WebSocket-based real-time synchronization.
  • Upgraded the project from an outdated React Native version to a modern release.
  • Delivered new features and performance improvements while maintaining existing business workflows.

Education Platform

  • Developed functionality for an educational platform used by teachers and students.
  • Built backend services, administration features, and real-time functionality.
  • Worked with React Native, React, GraphQL, and GraphQL Subscriptions to support mobile and web applications.

Junior React Native Developer

Devsteam.mobi

Kiev

React NativeSQLiteREST APIsTypeScript

Related project: Audiobook Application

  • Contributed to the development of a React Native audiobook application.
  • Implemented audio playback functionality and offline content storage using SQLite.
  • Integrated REST APIs for content synchronization and user management.
  • Improved application stability and performance through bug fixing and maintenance.

JavaScript Developer

Absolutist

Dnipro

JavaScriptTypeScriptActionScript
  • Participated in migration of browser games from ActionScript to JavaScript and TypeScript.
  • Implemented new functionality and maintained existing game codebases.
  • Worked on bug fixing, performance improvements, and feature development.
  • Collaborated with developers, designers, and QA engineers throughout the development process.

Education

Systems Analysis — Bachelor's and Master's degrees from Dnipro National University.

Oles Honchar Dnipro National University

Systems Analysis

  • Bachelor Degree in Systems Analysis
  • Master's Degree in Systems Analysis

Contact

Hiring for React Native or Mobile Engineer? Share the role, stack, and timeline — I reply within 24 hours.

Open to full-time, contract, and freelance