About the Role
BOSS Revolution helps millions of people around the world stay connected with family and friends through international calling, mobile top-up, and money services. As a Senior Flutter Developer on the DTC Calling team you'll build and evolve the flagship BOSS Revolution app.
Your main direction is Product-Led Growth (PLG): the referral program (Refer-a-Friend), onboarding and activation funnels, promo and reward mechanics (loyalty and subscription offers, first-transfer and recharge bonuses, upsell offers), and the experiments that decide which of them ship. It is the main direction, not the only one: you'll take on any work the team owns — home, calling, money-transfer and top-up flows, subscriptions and payments — as the roadmap requires.
You'll work in one of the largest Flutter codebases in production — a monorepo of 100+ internal packages, feature-first clean architecture, and a strong engineering culture around code quality, testing, and automation — and ship in short, instrumented iterations: hypothesis → flag → variant → metric → decision. The app also carries a native calling stack (SIP/VoIP on Android and iOS); experience there is welcome, not required.
Growth (main direction)
-
Build growth mechanics end-to-end: referral flows (invite links, deferred deep links, reward tracking), onboarding & activation funnels, promo/reward dialogs and offer surfaces, in-app surveys — from a PRD with a success metric to a measured result in production.
-
Run experiments as a habit: ship behind feature flags, wire variant assignment from our remote-config / A/B service (fixed-split and multi-armed-bandit tests) and Firebase Remote Config, tag events with test and variant, watch guardrail metrics, and remove the flag once the test is decided.
-
Instrument and validate analytics: define and implement Amplitude/GA events and properties, keep the event taxonomy clean across releases, verify events before launch, and read funnel dashboards together with the PM and data team.
-
Render server-driven promo content: integrate with our in-house campaign platform — targeted campaigns, remotely configurable copy and creatives, layout updates pushed from the backend in real time — with versioned fallbacks, so campaigns launch without an app release.
-
Integrate third-party growth SDKs: attribution (AppsFlyer), Braze (push, content cards), ads (AdMob / AppLovin), payments and KYC vendors — mostly through Flutter plugins, occasionally extending them in Kotlin/Swift via platform channels.
Across the app and team
-
Ship product features beyond growth: home screen, calling flows (Flutter UI over the native SIP stack), money-transfer and top-up flows, subscriptions and payments (card and wallet flows, Google/Apple Pay), country selection, chat and social features, performance and tech-debt work — the same standards, a different surface.
-
Own features within our architecture: feature-first clean architecture, Bloc/Cubit state management, repositories, immutable state, Result-based error handling; migrate legacy Provider/ViewModel code in the modules you touch (e.g. the referral module) to the current patterns.
-
Work at real scale: a Melos-managed monorepo with 100+ packages, strict dependency hierarchy, code generation (jsonserializable / freezed), a shared design system, and a 90% diff-coverage gate enforced per package in CI (bloctest + mocktail).
-
Keep releases healthy: trunk-based development, ~2 releases a month through GitHub Actions and Fastlane, Crashlytics plus product-metric monitoring, staged rollouts and kill-switches for risky changes.
-
Collaborate cross-functionally: with product managers (growth and core product), backend engineers (campaign, config and A/B services), data & BI, marketing (Braze campaigns) and QA — and push back on asks that cannot be measured.
-
Use AI-assisted development as part of the everyday workflow: Cursor / Claude Code / Copilot with in-repo prompts, agents and MCP integrations.