
Mobile Engineer · Open Source Author
Etienne Lawlor
Surf. Code. Repeat.
Senior Android Engineer with 13 years of experience designing, building, and shipping high-quality Android applications used by millions. Expert in Kotlin, Jetpack Compose, MVVM, and Clean Architecture, with a track record of driving measurable product growth, raising engineering quality, and mentoring teams. Builds scalable, testable apps with Coroutines/Flow, Hilt, and CI/CD, and ships open-source libraries and consumer apps used around the world.
About Me

I'm a Senior Software Engineer with 13 years of experience building mobile products used by millions of people. I've had the privilege of working at companies like Kajabi, DoorDash, ClassDojo, and Headspace — each giving me deep experience with large-scale Android codebases, platform APIs, and cross-functional product teams.
Outside of my day job, I maintain several open-source Android libraries with 1,000+ combined GitHub stars, contribute technical articles on Medium, and build surf apps for my local community in Hawaii.
I care deeply about code quality, developer experience, and shipping features that make a real difference to users. When I'm not at a keyboard, you'll find me surfing, playing tennis, or out on the golf course.
Where I've Worked
Senior Android Developer
KajabiOct 2023 – Apr 2026
Remote
- Improved developer velocity and UI consistency across core components (dialogs, loading states, rich text) by leading a full-scale migration to Jetpack Compose.
- Reduced dependency-injection boilerplate and improved app stability and build times by adopting Hilt (built on Dagger) with KSP, and enforcing MVVM patterns across the codebase.
- Improved data-fetching performance and cross-platform parity for Community feeds and Polls by overhauling the networking layer with Apollo GraphQL.
- Increased user engagement and retention by building native social features (Community Feed, Announcements, Interactive Polls) in Kotlin with Jetpack Compose and Coroutines/StateFlow.
- Reduced APK size and technical debt by upgrading to Target SDK 35, purging legacy modules at scale, and optimizing GitHub Actions CI/CD pipelines.
Senior Android Developer
DoorDashJul 2022 – Aug 2023
Remote
- Reduced crash rates by 10% by investigating and resolving recurring production incidents across the merchant app.
- Ensured release stability across thousands of merchant devices by leading Kotlin development of tablet app releases and BFF (Backend for Frontend) integration.
- Shipped product initiatives reliably across product, QA, and design by delivering them end-to-end in Kotlin with unit tests (JUnit, MockK).
- Improved code quality and test visibility by integrating Codecov (code coverage) into the build pipeline.
Senior Android Developer
ClassDojoOct 2020 – Mar 2022
Remote
- Improved app responsiveness by 15% by architecting and implementing new features with MVVM, Hilt, and Coroutines.
- Validated a new monetization path by running a RevenueCat vs. Google Play Billing A/B experiment behind a feature-flag framework, with analytics-driven phased rollout and post-measurement flag cleanup.
- Raised team code quality by mentoring junior developers, conducting code reviews, and establishing Kotlin best practices.
- Aligned engineering priorities with the product roadmap by driving Kotlin app-architecture decisions across cross-functional teams.
Senior Android Developer
HeadspaceMar 2017 – Sep 2020
Santa Monica, CA
- Increased paid subscribers by 20% and monthly active users by 15% by leading the app's rewrite to Kotlin, MVVM, and Clean Architecture.
- Raised test coverage to 80%+ and lifted the Google Play Store rating from the low 3s to the high 4s by introducing CI-enforced coverage, code reviews, and best-practice onboarding docs.
- Delivered high-impact features to millions of users by building them in Kotlin with a focus on performance optimization, accessibility, and UX polish.
- Reduced ANRs, bug count, and build times by driving refactoring efforts to migrate legacy code to Clean Architecture.
- Enabled seamless cross-platform feature delivery by partnering with design and backend teams to integrate REST APIs and authoring technical specs.
Co-Founder, Android Lead
TableConnection
Jan 2016 – Mar 2017
Los Angeles, CA
- Launched the product's Android app by spearheading its design and implementation from the ground up.
- Shaped product strategy and UX direction as a core member of the founding team.
- Delivered the MVP on schedule and within budget by managing a small cross-functional team.
Android Lead
ShopSavvyJul 2013 – Jan 2016
San Francisco, CA
- Earned a Google Play Store featured placement during peak shopping periods by leading the Android architecture of the Java codebase for a top-rated shopping app with millions of installs.
- Cut build times by re-architecting the build system from Maven to Gradle and stabilizing the networking layer.
- Improved scalability and testability of core modules by guiding development with Dagger and Reactive patterns, and redesigning the UI to Material Design.
- Unified app architecture across platforms by collaborating with backend and iOS leads.
Software Developer
PriceGrabber.comFeb 2011 – Jul 2013
Culver City, CA
- Implemented integrations for Google AdWords and Microsoft AdCenter APIs using Perl and MySQL.
- Maintained and improved the company's Android "DealGrabber" app, refactoring legacy code and releasing bug fixes.
Projects
Surf Window
Automated email alerts for Oahu surfers. Set your conditions — wave height, swell direction, wind — and receive a daily digest when your threshold is met.
Pitted Surf Reports
★ 4.4 Play StoreDaily surf reports for 300+ California beaches. Get wave height, swell period, wind speed, and water temperature for your local break.
Open Source

QuickReturn
Android library for header/footer UI that hides on scroll, similar to the Chrome address bar behavior.

TinderStack
Tinder-style swipeable card stack for Android. Swipe right, left, or skip with smooth animations.

ImageGallery
A scrollable, zoomable image gallery container for Android with full-screen support.

DiscreteSlider
An Android slider widget constrained to discrete tick marks with label support.

Trestle
A text span formatting framework for Android that makes applying multiple spans to a TextView simple.

MovieHub
A sample Android app demonstrating movies and TV shows using The Movie DB API with MVVM architecture.
Writing

RxJava on the Sign In Screen
How to use RxJava to validate form fields in real time and control the enabled state of a sign-in button.

UI Tips for Pre and Post Lollipop
Practical tips for building Android UIs that look great on both older and newer OS versions.

Pagination with RecyclerView
A step-by-step guide to implementing endless scrolling and pagination with RecyclerView.

The Complete Guide to Creating and Publishing an Android Library
Everything you need to know about building an Android library and distributing it via Maven Central or JitPack.

Testing the Geofencing API
How to test location-based geofencing features on Android without a physical device.

Tools for Iconography
An overview of tools and workflows for sourcing, editing, and optimizing icons for Android apps.
Skills
Languages
AI
Frameworks
Architecture
Testing
Tools
Let's Work Together
Get In Touch
Open to new opportunities — whether it's a full-time role, contract work, or an interesting open-source collaboration. My inbox is always open.
Send Me an Email