We built BOLD an AI that knows when to reach out.

  • Watches nine buying triggers across the entire customer base
  • Drafts the message, and the reasoning behind it, per customer
  • A human approves every send: that is the default state, not a setting

Client: BOLD Precious Metals · bullion e-commerce, USA · in production

Why we built Stella

The signal was always there. Acting on it was the problem.

Stella reads the customer base daily and picks the best next action per person.

9
trigger scenarios
12
next-best actions
6
stages traced per run
4
independent limits
Stella today screen: failed-checkout recovery showing 243 customers and $250,489 in recoverable carts, spot-drop priority showing 1,492 proven dip-buyers not yet on the alert list, and the day's queue counts
Today: what's worth acting on this morning.Shown with demo data.
Stella Customer 360 screen: lifetime spend, order count, gold and silver holdings, RFM categorisation, spot sensitivity and recent orders on one page
Customer 360: holdings, cadence and payment health.Shown with demo data.
Architecture

Read-only in, human-approved out

CLIENT PRODUCTION DATABASES · READ-ONLY Orders & customers portfolio · watchlist products · consent flags Behaviour & spot clickstream · sessions historical spot prices READ-ONLY GUARD writes & DDL rejected in code Nine feature builders each audience computed on demand bots and unreachable addresses dropped Bucketing identical decisions collapse into one call Claude · forced tool-use one of 12 next-best actions, or hold drafts subject, body and reasoning Exec-review queue 👤 a marketer approves, edits or skips the default path, out of the box Three send gates send mode · suppression · frequency every block logged with its reason Email · on-site offer identity resolved at send time, never cached WHAT THE MODEL SEES CUST-4A3F91 tier · holdings · behaviour no name, no email, no phone Stella's own database the only writable store decisions · outbox · suppression per-call token and USD cost log recipients stored as a hash IN BUILD SMS and bulk email adapters behind the same channel interface profiles prompt writes
Stella reads the client's databases and cannot write to them. Nothing reaches a customer unapproved.
What we built

Four problems every lifecycle programme runs into

Each maps to a mechanism in the product, not a promise.

Signal you can't extract by hand

The triggers sit across orders, holdings, watchlists and clickstream. Nine builders compute each audience live, on demand.

Batch-and-blast doesn't scale

Claude drafts per customer, not per segment. Identical decisions collapse into one call: 500 lapsed VIPs, about 12 calls.

Timing windows last hours

A 2% dip is live for hours, not weeks. That scenario runs intraday, and sends nothing if nothing moved.

Nobody automates blind

The fear is an AI mailing the whole list something wrong. So review is the default path, with four limits behind it.

The nine triggers

Nine reasons to reach out, watched every day

Real thresholds, computed live. Each has its own cooldown, so nobody is pestered.

Lapsed VIP

Spent over $5,000. Nothing for a year.

Daily · 21-day cooldown

Watchlist price drop

They saved an item. Spot has fallen since.

Daily · 7-day cooldown

Dormant holders

Still holds metal. No order in 90 to 365 days.

Daily · 21-day cooldown

Replenishment due

Overdue against their own average gap between orders.

Daily · 30-day cooldown

Post-purchase

Ordered in the last 14 days. Follow up as service.

Daily · 30-day cooldown

Anonymous on-site

No account, five product views in a week. Gets an on-site offer.

On-site only · 7-day cooldown

Abandoned cart

Added to cart, never ordered. Three reminders, then stop.

Daily · 15-day cooldown

2% spot drop

A metal falls 2% below its 30-day high. Alerts proven dip-buyers.

Intraday · 3-day cooldown

Payment recovery

Payment failed, never bought. Support helps, no discount.

Daily · 14-day cooldown
Roadmap

What's nextin build

Auto-dispatch stays off until a holdout proves incremental lift. SMS and bulk email are in build.

Built on trust

Stella never sends anything you haven't seen

That's not a setting. Out of the box, the system cannot send at all.

  • A human approves everything, by default

    Auto-dispatch and sending both ship off. Every recommendation waits in a queue, with its draft, reasoning and confidence score, for a marketer to approve, edit or skip.

  • It never learns your customers' names

    The model sees a hashed profile, CUST-4A3F91, and drafts with a [First name] placeholder. Real details are looked up only at send time. Stella's database holds no name, email or phone.

  • It cannot damage your production data

    A query layer rejects any write or DDL statement before it reaches the server, on top of a read-only login. Everything Stella writes goes to one separate database.

  • Four independent brakes

    Opt-outs and STOP. A 24-hour gap between messages. A 72-hour dedupe and a cap of three a week. Plus a per-scenario cooldown before anything is even drafted. Every block is logged with its reason.

Proof

A quarter of the "visitors" in the raw analytics were bots.

Before Stella can act on behaviour, it has to know which behaviour was human.

15,675,189
rows of raw behaviour log analysed
563,587
phantom "visitors" removed, plus 1.7M crawler events
1,628,946
real humans left, and every audience number counts only these

Only 1.4% of them ever identify themselves, which is why the on-site channel exists. Snapshot: 2026-06-17.

In practice

Three moments Stella catches that a weekly campaign can't

  • The $80,000 customer who quietly left

    Over $5,000 spent, then nothing for a year. Claude drafts a personal win-back that leads with service, not a discount.

  • The 2% drop at 11:40 on a Tuesday

    Silver falls below its 30-day high. Stella already knows who buys the dips, from their own order history, and alerts them while it's live.

  • The 1.6 million people you can't email

    98.6% of real visitors never identify themselves. View five products in a week and Stella writes an offer the website shows you.

The AI inside

Applied AI with the unglamorous parts done right

Built on the Claude API, with the engineering that makes a model dependable in production.

  • Schema-validated output
  • 12 actions, two escape hatches
  • De-identified profiles only
  • Cost stays flat as the list grows
  • Every call logged in USD
  • No hype, no fake scarcity
  • Holdings privacy in the prompt
  • Prompts versioned in the UI
  • Reasoning written for reviewers
Talk to Sachin

Want this for your business?

Stella was designed, built and is operated by Realisier Labs. If you're sitting on customer data you're not acting on, let's talk.

Talk to Sachin