Lead Mobile Developer

Summary

Lead Mobile Developer (contract) architecting and building a web-first companion app using Hotwire Native for a major media/entertainment client, writing production Swift and Kotlin while integrating native shells with a Ruby on Rails backend.

BIMM is booming, so we’re looking for a Lead Mobile Developer with deep iOS and Android experience to lead a web-first companion app build on contract.

Local candidates (within GTHA) will be required to be in office 2 days per week. Remote candidates (across Canada) must work EST hours.

Who we are

BIMM is a Toronto-based agency that lives at the intersection of data, technology, and creativity to provide clients with high-performing campaigns and digital products that shape connected customer experiences. We’ve helped our clients implement fully integrated CRM customer journeys, built robust digital experiences, and created national loyalty programs with decades of experience in sectors of automotive, financial, telco and retail.

We are creative realists, which means our ideas and solutions are grounded in the realities of our clients’ business. We believe big ideas are nothing without big results (and flawless execution); high-performing agencies deliver high-performing campaigns, products, and experiences; and the best solutions happen when we collaborate with clients as partners.

Our Technology department is a 50+ person distributed team of Developers, QA, and Architects delivering amazing digital products on a leading-edge technology stack.

This currently is a pipelining opportunity - updated timeline will be provided during interview process.

About the engagement

You will lead the mobile workstream on a multi-year programme modernizing the digital platform of a major media and entertainment client. The client runs a large Ruby on Rails 8 application — a high-traffic public website that also serves as the editorial CMS and the integration hub for their ticketing, event-management and CRM systems.

The companion app is being built web-first with Hotwire Native. Content screens are rendered by Rails and reused directly from the website, so the client maintains one version of its content. The app around those screens is genuinely native: navigation stacks, transitions, back-gesture behaviour, tab bars and toolbars are all real platform components.

Your job is to own that architecture and to build natively where the phone matters more than the page — tickets stored on the device so they load at a venue with no signal, notifications for a screening starting soon or a schedule change, wayfinding between venues, and biometric sign-in. These are built one screen at a time, so the app starts focused and grows into a second phase of attendance features without a rewrite.

This is deliberately not a fully native build, and it is not a cross-platform shared-UI build. We are not looking for someone to argue it should be either. We are looking for someone who understands why web-first is the right call for this product and who knows exactly where native effort earns its keep.

Who we’re looking for

You are a hands-on lead — a player-coach, not an engineering manager. You will personally write production Swift and Kotlin while setting standards for a small pod, and you will be comfortable being the most senior mobile voice in the room without a bench behind you.

You have deep native iOS and Android experience and you are pragmatic about it. You have integrated web views into native applications before and you understand the seams: session and cookie sharing, web view lifecycle and suspension, scroll and gesture conflicts, keyboard handling, and how accessibility behaves differently when the content is HTML rather than native views. You know which problems are worth solving natively and which are cheaper to solve in the page.

You are comfortable working inside a Rails repository even though you are not a Rails developer. You can read ERB templates, follow how Turbo Frames and Streams behave, and collaborate on native-specific view variants without needing a translator.

You communicate clearly with technical and non-technical stakeholders. The client has no in-house technical lead, so you will explain and defend architectural decisions directly to their product leadership — in writing as often as in conversation.

You are a team player who can fly solo when needed. Although you have the full support of your teammates, you are able to lead the research and solution of complex problems. At the same time, you know when to ask for help and don’t let pride or ego get in the way, because after all, you are part of a team.

Responsibilities

Architecture and technical leadership

  • Own the mobile architecture end to end — the native shells, path configuration, bridge components, and the boundary between web-rendered and natively-built screens.
  • Lead the early build-versus-buy evaluation, assessing an off-the-shelf festival app solution against the bespoke Hotwire Native build, and produce a written recommendation the client can act on.
  • Define which routes are promoted from web view to fully native screen, and in what order, so the app can grow incrementally rather than through rewrites.
  • Set and uphold standards for code quality, testing, and release readiness across both platforms.
  • Mentor and review the work of one to two mobile engineers as the pod scales.

Native capability development

  • Offline ticket storage and presentation. Local persistence plus Apple Wallet (PassKit) and Google Wallet integration, so a ticket loads at a venue with no connectivity.
  • Push and local notifications. APNs and FCM, device token registration and lifecycle, payload handling, and locally scheduled reminders for screenings, waitlist changes and schedule updates.
  • Wayfinding. MapKit and Google Maps SDK, location permissions, and directions between venues.
  • Biometric authentication. Face ID and fingerprint against Keychain and Android Keystore, integrated with the client’s passwordless session model rather than a standalone credential store.

Web view and Rails integration

  • Own the integration between the native shells and the Rails application — session and cookie sharing, authentication handoff, and deep link handling.
  • Work with the Rails pod on native-specific view variants, so server-rendered screens sit correctly inside native chrome.
  • Specify the supporting API layer alongside the Rails pod — the endpoints your native screens need, plus device registration and versioning — keeping its surface deliberately small.
  • Build bridge components that render real native controls where web markup alone is not enough.
  • Handle web view lifecycle carefully, including connection behaviour when the app backgrounds or the device locks.

Release ownership

  • Own App Store and Google Play submission, provisioning, signing, and release workflow.
  • Own store review strategy from day one, including mitigating App Store Review Guideline 4.2 minimum-functionality risk — a genuine consideration for a web-first app, and one that is far cheaper to design for than to discover at submission.
  • Build and maintain CI/CD for mobile, including automated builds and distribution to test users.
  • Plan releases around a hard seasonal launch date followed immediately by a code freeze.

Quality, accessibility and measurement

  • Write and review unit and UI tests across both platforms.
  • Deliver against WCAG 2.2 AA, including how VoiceOver and TalkBack behave when reading a web accessibility tree inside a web view rather than native semantics.
  • Debug performance and reliability across devices and screen sizes, with particular attention to web view cold start and long-list scrolling.
  • Instrument the app against a shared event model agreed with the web and data workstreams, so app and web behaviour land in one picture rather than two that need reconciling by hand.
  • Consume a variable-driven design system shared across web and mobile, working from tokens rather than hand-styling native screens.

Requirements

  • 5+ years of mobile engineering experience, including lead ownership of a shipped product in an agile environment.
  • Deep native iOS experience — Swift, SwiftUI, UIKit, and the iOS SDK.
  • Deep native Android experience — Kotlin, Android fundamentals, and Jetpack Compose.
  • Substantial web view integration experience — WKWebView and Android WebView embedded in native applications, including session and cookie sharing, JavaScript bridging, lifecycle handling, and gesture or scroll conflict resolution. This is the single most important requirement.
  • Offline-first data handling — local storage, sync, and threading, in an app that must work without connectivity.
  • Push notification infrastructure — APNs and FCM end to end, including server-side token registration and payload design.
  • REST API consumption, including versioning and contract negotiation with a backend team.
  • Ownership of iOS and Android release workflows — provisioning, signing, store submission, and app lifecycle.
  • Mobile CI/CD — GitHub Actions or equivalent, with automated build and test distribution.
  • Testing and automation — XCTest, XCUITest, Espresso, Robolectric, or equivalents.
  • Accessibility to WCAG 2.2 AA, on native and web-rendered content.
  • Ability to read and navigate a Rails codebase — ERB templates and Turbo/Stimulus behaviour — well enough to collaborate on server-rendered screens. You do not need to write Ruby.
  • Git and pull-request based collaboration, with clear commit history and review-ready changes.
  • Strong written and spoken English, with the ability to explain architectural decisions to non-technical client stakeholders.

Strongly preferred

We expect a small candidate pool with direct Hotwire Native experience and we are not treating it as a gate. If you have deep native and web view experience and the architectural instincts described above, we will support you into the framework.

  • Hotwire Native (or its predecessor, Turbo Native) in production on iOS or Android — path configuration, bridge components, or native screen integration.
  • Apple Wallet (PassKit) or Google Wallet pass generation and lifecycle management, particularly for event or transit tickets.
  • Apps built against a server-rendered backend rather than a JSON-first API, and comfort with that as a deliberate architecture.
  • Live event, ticketing, festival, or venue-based products, where connectivity is unreliable and traffic is sharply seasonal.
  • Client-facing or agency delivery experience, presenting technical direction to product owners outside your own organisation.

Nice to have

  • Mobile design patterns — MVVM, MVI, or equivalent — applied to a small number of native screens rather than a full native app.
  • MapKit or Google Maps SDK, and foreground location handling.
  • Biometric authentication against Keychain or Android Keystore, integrated with a hosted identity provider.
  • Mobile analytics instrumentation against a shared cross-platform event taxonomy.
  • Familiarity with AI coding assistants such as GitHub Copilot or Claude Code, used with human review before anything reaches a client codebase.
  • Experience evaluating third-party or off-the-shelf app platforms and documenting a build-versus-buy recommendation.

What’s in it for you?

  • Work Life Balance with BIMM days: Spend your birthday any way you’d like, as long as it’s not at the Extra day off to enjoy every summer holiday and a week-long end-of-year break. Boo-yah!
  • Benefits: We offer a comprehensive health & dental benefits plan with an Employee Assistance Program. BIMMers are also given extra $$$ to put towards wellness or health-related needs. Did we mention our RRSP with matching? A lil BIMM bonus to build your bank.
  • Culture: Our squad is fun, friendly and entirely egoless. Our social committee plans BIMM bashes,Tasty Thursdays and quarterly outings like candle making workshops, board game nights, Jays games and cooking Our summer and holiday parties are quite memorable as well! Having Fun Everyday is one of our core values.
  • We believe in working & meeting with We observe a hybrid working model in our beautiful dog-friendly office located in the Distillery District, stuffed with snacks.
  • Belonging: Our dedicated DEI committee provides thought-provoking insights which are reflected in our work; They also organize engaging awareness activities and events to showcase BIMMER’s professional talents and personalities. What talents might you bring? :)
  • Growth: BIMM is part of kyu collective which gives our employees access to the network’s resources, training, offices, and more. We also prioritize your personal and professional development with opportunities like on-site Lunch n’ Learns, conferences and online courses. Love 2 Learn.

BIMM is committed to providing an environment that is inclusive and accessible. We are an equal opportunity employer and consider all applicants for employment without discrimination. Please let us know if accommodation for the recruitment/interview process is required and we will work with you to make sure your needs are met.

AI in recruitment

While we are exploring ways to best utilize AI in our hiring processes, BIMM currently does not use AI-enabled tools in our hiring process. All candidates are screened by humans, and approved by humans.

The range of annual base salary for full-time employees for this position is below. Please note that base pay offered may vary depending on factors including your city of residence, job-related knowledge, skills, and experience.

Total compensation range:
$140,000$160,000 CAD

See also

Mobile jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of freehire is available