GlassBox

Explainable recommendation infrastructure

Make every recommendation
explain itself.

GlassBox turns black-box ranking into a glass box. Align the reward function with live sliders, pre-warm cold starts with synthetic personas, and ship a faithful reasoning trace with every result.

  • align
  • rank
  • trace
today

The black box ranks.

You see what surfaced — never why. Drift is invisible, cold starts stall, and “trust me” is the only explanation.

with glassbox

The glass box explains.

Every score is decomposed, every policy is versioned, every trace is queryable. Transparency is the default, not an afterthought.

Four value pillars

Built on transparency, not trust.

01

Explainability

Reasoning Traces

Every ranked item carries a faithful, queryable trace — the factors, the weights, the score breakdown. No prompt-spun stories. Only what the ranking math actually did.

02

Cold Start

Persona Lab

Pre-warm the model before you have a single real event. Generate synthetic audiences, simulate their behaviour, and derive preference vectors that rank from day zero.

03

Logic Drift

Intent Sliders

Re-align the reward function in real time. Drag relevance, diversity, novelty and popularity — and watch the ranking and its trace move with you, deterministically.

04

Education

Socratic Mentor

Commit a custom scoring function and a mentor reviews it like a senior engineer — Socratic questions on math, security and performance, before anything ships.

The pipeline

One deterministic path: align → rank → trace.

01

Align

UI sliders compile to a versioned PolicySpec — a normalized reward function with author, constraints and a timestamp.

02

Rank

The Architect translates policy into a pgvector search and a deterministic weighted score across every candidate.

03

Trace

The Reasoner assembles a faithful explanation from the actual inputs and scores — queryable later by trace id.

For builders

A transparent feed in three calls.

A typed SDK over a tRPC core. Rank, fetch the reasoning behind any result, and stream feedback back to close the loop — without ever losing the audit trail.

  • pgvector semantic retrieval with a deterministic re-rank
  • Faithful traces stored and queryable by id
  • API keys, events & analytics built in
feed.ts
import { GlassBox } from "@glassbox/sdk";

const gb = new GlassBox({ apiKey: "gb_live_…" });

// 1 · a ranked feed, aligned to business intent
const feed = await gb.getPersonalizedFeed("user-123", {
  sliders: { relevance: 0.8, diversity: 0.6 },
});

// 2 · the faithful reasoning behind any result
const why = await gb.getReasoningChain("user-123", feed.items[0].itemId);

// 3 · close the loop
await gb.trackEvent({ endUserId: "user-123", eventType: "click" });

Ship recommendations people can trust.

Connect a catalog, drag a slider, read the trace. Free to start.