# In-car advertising

> Android kiosk app for in-car advertising, locked to a single app so a driver cannot exit it.

**Sector:** In-car advertising operator
**Year:** 2022
**Role:** Team of five
**Stack:** Angular, Kotlin, C#, .NET, SQL Server
**Runs on:** AWS
**What it does:** Screens run centrally — unattended, in-vehicle

## The problem

Selling advertising on screens inside vehicles only works if every screen is playing the right thing and the driver cannot break it. A general-purpose tablet in a car is one stray tap from being something else entirely, and an operator cannot send someone out to each vehicle to put it back.

## What we built

An Android kiosk app running locked to a single app on tablets fitted in vehicles. Advertising plays continuously on the passenger-facing screen, and drivers pause or resume through a PIN-gated panel rather than by leaving the app. Playback and campaigns are managed centrally, so changing what a fleet is showing is one operation rather than one per vehicle.

## Outcome

- Deployed to 100 tablets, in a fleet run in partnership with an airline providing airport transfers.
- Screens stay locked to the app in the field; drivers pause and resume behind a PIN instead of exiting it.
- What the fleet is showing is changed centrally rather than vehicle by vehicle.

## The long version

The hard part of this one is not playing video. It is that the device is
unattended, in someone else's vehicle, in the hands of a driver whose job is
driving and not running a media player. The home button, the notification shade,
the app switcher: everything that makes an Android tablet pleasant to own
becomes a failure mode when the tablet is an advertising asset someone has been
sold airtime on.

So the app runs as a locked-down single-app kiosk, and the one thing a driver
legitimately needs to do, pausing the screen, is behind a PIN rather than
behind exiting to the launcher. The airport transfer partnership is what set
the bar: the screens are in front of arriving passengers on the way into a
city, which is a fixed audience at a fixed moment, and an advertiser paying for
that moment is paying for the screen to be working when it happens.


[Overcode](https://overcode.io/) — AI workflows and custom systems. This study as HTML: https://overcode.io/work/in-car-advertising/
