For AI App Builders

Add ad revenue to your AI app in under 5 minutes.

Lumi SDK script tag — one async <script> in your <head>. Works with OpenAI, Anthropic, Gemini, open-source models, and any agent framework (LangChain, Vercel AI SDK, CrewAI, custom orchestration). No backend changes required.

Start as a publisher →
See it appear

Drop a slot. Watch the ad render in.
Style stays yours.

A <div data-lumi-slot> placed wherever you want it. Lumi only renders the inner card — your typography, spacing, and chrome carry through.

A web AI app showing a sponsored card inline with the conversation 🔒 chat.myaiapp.com/c/abc123 MyAI + New chat TODAY Python deploy options Refactor my router Bug in checkout What's the fastest way to deploy? ASSISTANT ASSISTANT For Python apps, Railway and Fly.io are both solid choices. Railway has zero-config git push; Fly.io gives you global edge regions. SPONSORED · paid for by Vercel Why am I seeing this? Vercel — Deploy in seconds. Scale forever. Free hobby plan · git push to deploy · global edge Try Free → vercel.com Send a message…
The card renders inline with your chat layout. You control the slot position, the surrounding spacing, and what comes after — Lumi just fills in the bordered card with the sponsored content.
How it works

Sign up. Paste. Earn.

1

Sign up

Copy your snippet from the dashboard. One publisher ID, ready to paste.

2

Paste into your <head>

Async, lazy-loaded, zero impact on first paint. Works in Next.js, Nuxt, Remix, Vite, plain HTML.

3

Place ad slots

Drop a <div data-lumi-slot> wherever you want ads. Boost Boss renders the rest.

Integration snippet

One snippet. Any AI stack.

<script async
  src="https://boostboss.ai/lumi.js"
  data-publisher-id="pub_xxx">
</script>

<div data-lumi-slot="banner"></div>

That's the entire integration. Same snippet for OpenAI, Anthropic, Gemini, LangChain, Vercel AI SDK, CrewAI — Lumi works at the rendering surface, not the agent logic. Full docs →

Sponsored card rendered inline in a web AI app 🔒 chat.myaiapp.com/c/abc123 MyAI + New chat TODAY Python deploy options Refactor my router Bug in checkout YESTERDAY Postgres index plan Stripe webhook flow What's the fastest way to deploy? ASSISTANT For Python apps, Railway and Fly.io are both solid choices. Railway has zero-config git push; Fly.io gives you global edge regions. SPONSORED · paid for by Vercel Why am I seeing this? Vercel — Deploy in seconds. Scale forever. Free hobby plan · git push to deploy · global edge Try Free → vercel.com Want me to walk through Railway's deploy flow? Send a message…
A <div data-lumi-slot> placed below an answer. Style it to match your app — Lumi only renders the inner card.
Who this is for

If you ship AI in a browser, this is your path.

Revenue example

What 5,000 daily users can earn.

Illustrative — not a guarantee
Daily active users5,000
Ad impressions per user per day~5
Daily impressions25,000
Blended CPM$4
Monthly publisher revenue~$3,000

Numbers are illustrative for an AI app with conversational UX. Actual revenue depends on session length, slot placement, fill rate, and audience. Verticals with stronger commercial intent (developer tooling, finance, B2B SaaS) typically run higher CPMs.

Frequently asked

The questions every AI app builder asks.

Does this work with my agent framework?

Yes. Lumi is framework-agnostic. We integrate at the rendering surface, not the agent logic — so LangChain, Vercel AI SDK, CrewAI, LlamaIndex, AutoGen, Mastra, or your own custom orchestration all work the same way.

Will ads slow down my app?

No. The script is async and lazy-loaded — zero impact on first paint, no blocking on your bundle. Ad slots render after your AI surface is interactive.

What if I'm using Server-Sent Events for streaming?

Lumi works alongside SSE. Ads render in your UI separately from your model's stream — you don't need to interleave anything. The ad slot is a sibling element, not a stream consumer.

Can I theme the ads to match my UI?

Yes. Lumi reads your CSS variables for color and typography (--lumi-primary, --lumi-text, --lumi-radius, etc.). The default look is neutral; the themed look matches your brand.

Can I run my own ads alongside Boost Boss?

Yes. We don't lock down inventory. Boost Boss renders only in slots you explicitly tag with data-lumi-slot — everything else is yours.