Executive mobility platform Executive mobility, live.

App and back end for an executive chauffeur service with an armored fleet in São Paulo, Rio de Janeiro and Miami.

Visit the website

Where I come in

  1. 01

    Client app

    Lead developer, from the first screen to what is live

    • Map, ride request, scheduling and real-time tracking.
    • Payments, membership program and account area.
    • Architecture, tests and store releases.
  2. 02

    Back end

    One of the three most active people on the project

    • Contract and endpoints of the API the app consumes.
    • Points of interest, pickup areas and the price breakdown.
    • PDF receipts, Live Activity and parts of the panels.
  3. 03

    Driver app

    Focused contributions

    • Ride details screen reached from the history.
    • From the API contract to the model and the interface, with tests.
Year
Since 2025
Role
The client app end to end, the client API and parts of the admin panel in the back end, plus focused work on the driver app.
Stack
  • Flutter
  • Dart
  • BLoC
  • HERE SDK
  • Ably
  • Laravel 12
  • Filament 4
  • MySQL
  • Stripe
  • Docker

The problem

Executive transport sells predictability: the right car, at the right time, discreetly. That needs an app that shows the ride happening live, takes bookings well in advance and follows the client’s flight, plus a back end that orchestrates rides, drivers, fleet and billing across three cities and two languages.

By the numbers

  • 3cities where the app operates: São Paulo, Rio de Janeiro and Miami
  • 11ride states followed in real time, from request to arrival
  • 4payment methods: card with 3DS, Pix, credits and partner cards
  • 30+screens in the client app, from requesting a ride to the membership program

What was built

  1. A custom map engine on the HERE SDK

    A map layer built from scratch: points of interest with pickup and drop-off areas, snapping destinations to meeting points, route calculation and animation, zoom and inertia control, and the driver pin locked to the route so it never jitters.

  2. Real-time rides, from request to arrival

    An eleven-step state machine, from searching for a driver to arrival, fed by real-time events and reflected in every screen of the app.

  3. Booking, airports and flight tracking

    Rides scheduled in advance, airport transfers that follow the flight, and Meet & Greet reception, with waiting time covered when the flight is late.

  4. Payments and fraud prevention

    Card tokenization with a 3DS challenge, Pix with real-time confirmation, prepaid credits and partner cards, with receipts and tax invoices generated as PDFs in the back end.

  5. Membership program

    Plans, credits, bonuses and member history end to end: the app screens, the sign-up page on the website and the settings in the admin panel.

  6. Live Activity and Dynamic Island on iPhone

    A live arrival time on the lock screen, computed in the back end from ride events and delivered by push, with one activity per device.

  7. The client API in the back end

    OpenAPI contract, authentication, card wallet, favorite addresses, address search, history, ride details and the price breakdown, covering what the app consumes.

  8. An area editor on top of the map

    A polygon drawing tool in the admin panel, in the spirit of Figma’s pen, to map points of interest and their pickup and drop-off areas, with expanding, subtracting and vertex merging.

Inside the map

The map is the product.

The map is where clients choose the pickup point, compare classes and watch the chauffeur arrive. I built that layer on the HERE SDK, with my own control of pins, route, camera and zoom.

Meeting points that make sense
At airports, hotels and buildings the destination snaps to the right pickup point, with separate pickup and drop-off areas and the walking leg when there is one.
Pins that stay out of each other’s way
Points of interest load per region, are cached and drawn on demand, and requests that stopped mattering are cancelled while the map moves.
The chauffeur locked to the route
Positions arriving in real time are projected onto the route before they become movement on screen, which removes the jittering pin and the jumps between streets.
A camera with intent
Zoom with its own signature so it never animates twice, inertia on the gesture, and map labels suppressed when the screen needs room to breathe.
A route that follows the choice
The route is recalculated and animated on every change of origin, destination or class, with the estimated arrival time per vehicle class.
Pickup snapped to the hotel’s meeting point, with the pickup area and nearby cars.

In the back end

What the app shows is decided on the server.

The API the app consumes
An OpenAPI contract kept alongside the screens: authentication, card wallet, favorite addresses, address search, history and ride details.
Pricing, receipts and invoices
The breakdown of the amount shown to the client, with fares, waiting, cancellation fees and discounts, and the receipts and tax invoices as PDFs.
An area editor in the panel
A polygon drawing tool in the spirit of Figma’s pen, with expanding, subtracting, vertex merging and overlap prevention, used by the operations team to map locations.
Live Activity driven by the server
The arrival time is recomputed from ride events and sent by push, with capped retries and one activity per device.

Architecture and quality

  • Layers and state

    Moving the app from scattered notifiers to BLoC with dependency injection and a clear split between domain, data and presentation.

  • A generated API client

    The app consumes a client generated from the same contract as the back end, so the two sides cannot drift apart quietly.

  • Real time

    Ride events, messages and Pix confirmation arrive over real-time channels, with reconnection and well defined waiting states.

  • Tests

    Unit and widget tests covering the ride flow, payments and membership, running on every change.

  • Errors in production

    Error monitoring with network and navigation breadcrumbs, which shortens the path from a report to the cause.

  • Continuous delivery

    Automated builds and releases to the App Store and Google Play, with automatic versioning and code review along the way.

Timeline

  1. 2025

    The first screens and the map

    I started the app from scratch: the map foundation on the HERE SDK, the ride request flow, the chat with the chauffeur and the first version of the client API in the back end.

  2. 2026 · first half

    Payments and membership

    Cards with 3DS, Pix, the membership program end to end, ride details with pricing and receipts, and the app’s move to BLoC.

  3. 2026 · second half

    Map, Live Activity and stores

    The area editor in the panel, map performance and accuracy, Live Activity on iPhone, deep links with campaign attribution, and the store releases.

Screens

Screenshots of the app taken by me. The brand and the service belong to Vippers.

Outcome

The app is published on both stores and in use across the three cities, and the project keeps going: new features ship every delivery cycle.

Contact

Have a project in mind?

Tell me what you need. I reply within two business days.

contato@alysson-thoaldo.com.brOpen the form