Real-time bidding for the screens people actually look at.
Bright Face Ads runs video and image billboards on a sub-90ms OpenRTB auction, distributes your campaigns to Meta, Google and Eskimi, and gives developers an SDK to build advertising into any product.
- 0+
- Active screens
- 0
- Cities covered
- 0+
- Monthly impressions
- <0ms
- Auction latency
Auction latency
78 ms
Trusted by brands across Cameroon
One platform, from auction to billboard.
Four ways Bright Face Ads puts your message in front of the right audience.
Everything an impression needs, in one stack.
From the auction that prices it to the screen that shows it, and the SDK that lets you embed the whole thing.
A real-time bidding engine built for speed.
Every impression runs through a sealed, second-price auction on Scala and Kafka. The highest bid wins, the creative renders, and the buyer only pays a cent above the runner-up.
<0 ms
p95 auction latency
0%
Average fill rate
Omnichannel distribution
One brief, every channel, billboards, social and programmatic, kept in sync.
- Meta
- Google Ads
- Eskimi
Live coverage across Cameroon
- Douala
- Yaoundé
- Bafoussam
- Garoua
- Bamenda
- Buea
- Limbe
- Kribi
Ship advertising in six languages.
Typed, idiomatic clients that speak OpenRTB out of the box, request, fill and render ads natively on any stack.
Explore the SDK- Android
- iOS
- Java
- Scala
- Python
- Go
Attention, measured in milliseconds.
Audience
A person walks past a screen or opens an app.
Auction
An OpenRTB auction resolves the best bid in under 90ms.
<90ms p95Screen
The winning creative renders instantly, in context.
Live across Cameroon, expanding across Central Africa.
A growing network of premium screens in the cities that matter.
- 0+
- Active screens
- 0
- Cities covered
- 0+
- Monthly impressions
- 0%
- Fill rate
Build advertising into your product.
A typed SDK for Android, iOS, Java, Scala, Python and Go, backed by an OpenRTB-native API.
- Request an ad, run the auction and render the winner in three lines.
- OpenRTB-native, integrate with the DSPs and exchanges you already use.
- Bring your own slots, floors and pacing; we handle the bidding.
- Android
- iOS
- Java
- Scala
- Python
- Go
import { BrightFace } from "@brightface/sdk";
const bfa = BrightFace.init({ apiKey: process.env.BFA_KEY });
// Run an OpenRTB auction for a slot in your app
const ad = await bfa.requestAd({
slot: "feed-native-1",
formats: ["video", "image"],
floorCpm: 4.5,
});
ad.render("#ad-slot"); // winning creative, in < 90msTrusted to run campaigns that matter.
“Bright Face Ads gave us reach and control we couldn't get anywhere else in the market. We saw exactly what each impression was worth.”
Marketing Lead
MTN Cameroon
“We finally had visibility into our out-of-home spend. The real-time bidding means we never overpay for an impression again.”
Media Manager
Orange
“One brief reached every channel, billboards and social, with consistent creative. Exactly what a launch needs.”
Brand Manager
TotalEnergies
MTN Cameroon
Filling eight cities with one real-time campaign.
A two-week video billboard burst across Douala and Yaoundé, optimised live through our OpenRTB auction.
- 12.4M
- impressions
- +38%
- brand recall
- 94%
- fill rate
0+
Monthly impressions
<0ms
Auction latency
0%
Fill rate
0+
Brands served
Questions, answered.
Everything you need to know before you launch your first campaign or integration.
Still have a question? Talk to usApproved creative can be live across the network within 48 hours. Our team helps you adapt assets to each screen format.

