Raphael Bernardo

Senior Android Engineer · Kotlin, Jetpack Compose & Clean Architecture

Ten-plus years building production Android apps in Kotlin and Java, for consumer, fintech, travel, maps and media products. Strong in app architecture, on-device data and native NDK/JNI work on Uber's Maps SDK.

Rio de Janeiro, Brazil (GMT-3) Brazilian + Portuguese (EU) citizen +55 (21) 98885-6697 [email protected] github.com/raphaelbgr linkedin.com/in/raphaelbgr Download PDF All CV versions

Summary

Android engineer working in Kotlin with Coroutines/Flow, Jetpack Compose and the Jetpack libraries, in multi-module MVVM and Clean Architecture codebases. I have taken two production codebases from Java to Kotlin, leading the FreeCast migration, where I also introduced use-case based Clean Architecture.

Product work covers payments and checkout flows, subscriptions and paywalls, maps and geolocation, offline-first data with Room/SQLite, and media playback. I was on the agency team that built a travel app from scratch to 1M+ downloads on Google Play, and I worked on Uber's Maps SDK module used in the Rider, Eats and Driver apps.

Experience

Aug 2025 – PresentContract · Remote

Senior Android TV / Fire OS Engineer · Nexstar Media Group

Multi-brand media app framework built from one Android codebase. Contributor on the platform team.

  • Contributed to the architecture of a multi-module framework (MVVM + Clean Architecture) with a plugin system for third-party SDK integrations.
  • Refactored callback chains to event-driven Kotlin SharedFlow; fixed lifecycle-aware leaks in fragment navigation.
  • Implemented subscription entitlement checks and paywall integration, plus device-based sign-in flows.
  • Worked on remote configuration for feature rollouts across a large brand/flavor build matrix.
  • Developed Media3/ExoPlayer implementations for video and audio, with DRM and ad insertion.
  • Integrated analytics under GDPR/CCPA, plus Firebase Crashlytics and New Relic monitoring.
  • Wrote unit and UI tests with JUnit, MockK, Robolectric and Espresso.
Kotlin Coroutines/Flow Dagger 2 Retrofit Moshi Room ViewModel Navigation Media3 Firebase New Relic MockK Robolectric Espresso
Dec 2024 – Jul 2025May 2022 – Apr 2024Mar 2021 – May 2021Contract · Remote

Android / Android TV / Fire OS Engineer · FreeCast, Inc.

Select TV and FreeCast Watch apps for Android phone and tablet, Android TV and Fire OS.

  • Led the migration of the legacy Java codebase to Kotlin and introduced use-case based Clean Architecture.
  • Built features with Jetpack Compose, Hilt, Room and DataStore in a multi-module project with a shared design system.
  • Integrated a paid subscription gateway and enabled Google Cast.
  • Implemented HLS/DASH video playback with Widevine-protected streams.
  • Shipped releases on Google Play (Select TV, FreeCast Watch) and the Amazon Appstore.
Kotlin Jetpack Compose Hilt Room (SQLite) DataStore Coroutines/Flow Retrofit Media3 Google Cast Firebase Mixpanel JUnit Espresso
Apr 2024 – Dec 2024Contract · Remote

Android TV / Fire OS Engineer · Claro TV+

Greenfield Android TV / Fire OS app for one of Brazil's largest pay-TV operators. Contract via Global Hitss.

  • Contributed to a shared Kotlin Multiplatform data layer (Ktor, Koin) consumed by Android, webOS and Tizen clients.
  • Worked in a 16+ module MVVM codebase with separate feature modules for home, search, guide and playback.
Kotlin Kotlin Multiplatform Ktor Koin Coroutines/Flow Jetpack Bitmovin Player Firebase Google Analytics 4 JUnit Espresso
May 2021 – May 2022Contract · Remote

Android Engineer, Maps SDK · Uber Technologies

Contract via Matchpoint Solutions.

  • Worked on the Maps team's Android SDK module built with NDK, JNI and C++.
  • Worked in Uber's RIBs architecture inside the internal monorepo, a codebase shared by 10K+ engineers.
  • The module shipped in the Uber Rider, Uber Eats and Uber Driver apps.
Kotlin Java C++ SQL Python NDK JNI RIBs Buck CMake Flipper JUnit Espresso
Oct 2018 – Feb 2021Remote

Android Engineer · Super Revendedores

  • Migrated the full codebase from Java to Kotlin.
  • Implemented payment-gateway checkout, virtual catalogue showcases and SSO from the app to a partner ordering portal.
  • Improved the sync of product data between the on-device SQLite store (DbFlow) and backend services.
  • Built asynchronous order processing on AWS SQS/SNS for queuing and notification delivery.
Kotlin MVP Dagger 2 DbFlow (SQLite) Retrofit Firebase Firestore AWS SQS/SNS Facebook OAuth JUnit Espresso
Dec 2016 – Oct 2018Rio de Janeiro

Android Engineer · Concrete, an Accenture Company

  • Built the Minha CVC travel app from its first implementation as part of the agency team; it passed 1M+ downloads on Google Play.
  • Implemented store geolocation and store-locator guidance with Google Maps, travel-package itineraries and a virtual package showcase.
  • Worked on the Getnet payments app; migrated MVP to MVVM and introduced RxJava 2 and LiveData.
Java 8 Kotlin RxJava 2 LiveData MVVM Dagger 2 Google Maps Retrofit Firebase Jenkins CI/CD
Jun 2015 – Dec 2016Internship · Rio de Janeiro

Android Engineer · PraPagar

  • Built the PraPagar mobile-payments app with a US-based team (MaxxPotential): QR-code and geolocation payments, plus REST services in PHP/Laravel.

Skills

Languages
Kotlin, Java, SQL, C++ (NDK/JNI), Python, TypeScript, Groovy, PHP.
Data & SQL
SQL, SQLite, Room, DbFlow, DataStore, PostgreSQL, IBM DB2, Firestore; offline-first persistence and sync with backend services.
UI
Jetpack Compose, Material 3, design systems with runtime theming, Navigation, Google Maps and location services.
Architecture
MVVM, MVI, Unidirectional Data Flow, Clean Architecture with use cases, multi-module Gradle, plugin-based integrations, RIBs, MVP.
Async & DI
Coroutines, Flow, StateFlow, SharedFlow, RxJava 2, LiveData; Hilt, Dagger 2, Koin.
Network
Retrofit, OkHttp, Ktor, Moshi, Kotlin Serialization, REST APIs, WebSockets, deep linking, OAuth, SSO.
Platforms
Android SDK (phone and tablet), Android TV, Fire OS, Kotlin Multiplatform.
Payments & product
Play Billing, payment gateways, subscriptions and paywalls, Firebase (Analytics, Crashlytics, FCM, Remote Config, Auth), Mixpanel, Google Analytics 4.
Quality
JUnit, MockK, Robolectric, Espresso, Android Profiler, Crashlytics, New Relic, memory-leak and lifecycle debugging.
Build & release
Git, Gradle (multi-flavor builds), Buck, CMake, CI/CD with Jenkins and GitHub Actions, Google Play and Amazon Appstore releases.
AI-assisted delivery
Coding agents with test evidence and model review before merge, used within each client's tooling policy.

Own Apps & Projects

Preços Cerveja · Google Play

Compares beer prices by volume to find the best value per millilitre. Offline-first, with Room persistence and in-app billing. Kotlin, Jetpack Compose, Room, Play Billing.

play.google.com/store/apps/details?id=br.com.raphaelbgr.preoscerveja

DynamicMusicApp

Android music player with three design systems the user switches at runtime (Material You, Neon Wave, Organic Flow) from one Compose codebase. Kotlin, Compose, Material 3, MVI, Coroutines/Flow, Hilt.

github.com/raphaelbgr/dynamic-music-app-showcase

Education & Early Roles

2013 – 2018Instituto Infnet, B.S. in Computer Engineering, Rio de Janeiro
Jun – Dec 2014IBM Brasil, Software Engineering Intern: SQL queries on IBM DB2 for contract and sales teams, reporting
Jan – May 2014FASOLTI, Test Developer Intern (Selenium, TestNG)
LanguagesPortuguese (native), English (fluent), Spanish (intermediate)