Inspiration

Independent boutiques often treat slow inventory as a pricing problem. After a garment sits for a few weeks, the usual response is a deeper discount—even when the real problem is that the item has lost its cultural context. A carefully sourced linen overshirt may not need a lower price; it may need a better story, pairing, or local moment.

We built LastRack to answer one practical question: what should a merchant test before touching the markdown marker?

What it does

LastRack is a bounded merchandising agent for independent retailers. A merchant enters a slow-moving item, units on hand, days slow, location, budget, forbidden tactics, and three cultural anchors that describe the store's audience.

The agent then turns those constraints into three small, executable experiments:

  • a display intervention that reframes the item visually;
  • a bundle that connects it to a complementary cultural context;
  • a local activation built around a relevant venue or community moment.

Every proposal includes an estimated cost, execution steps, cultural evidence, and policy checks. The system blocks prohibited tactics, avoids demographic profiling, and exports a timestamped Decision Receipt with an integrity digest and the notice: Planning hypothesis—not a sales forecast or endorsement by the named entities.

Why Qloo is essential

LastRack is not a generic LLM wrapper. The production path uses the official @qloo/qloo-harness over the Model Context Protocol to:

  1. resolve informal merchant seeds with qloo_describe;
  2. identify shared thematic signals with qloo_find_tags;
  3. discover cross-domain adjacencies with qloo_recommend;
  4. rank comparable candidates in one domain-level qloo_rank batch.

That final rule matters: comparable candidates are ranked together so relative affinity remains meaningful. The UI also includes a working Why Qloo? ablation view. Remove Qloo and the ideas collapse into generic markdown signs and sidewalk sales. With Qloo, the same commercial constraints produce culturally specific, testable interventions.

How we built it

LastRack is a TypeScript monorepo with five clear boundaries:

  • @lastrack/contracts — Zod schemas, run states, and tool contracts;
  • @lastrack/domain — deterministic budget checks, claims validation, ranking invariants, ablation, and receipt generation;
  • @lastrack/fixtures — a curated synthetic judge scenario;
  • Fastify server — API routes, SSE progress events, static serving, and MCP process management;
  • React + Vite web app — an editorial stockroom interface designed for quick merchant decisions.

The MCP manager launches the official Qloo harness as a child process over stdio using JSON-RPC 2.0. Source modes are explicit: LIVE_QLOO, CACHED_QLOO, DEMO_FIXTURE, DEGRADED, or ERROR. A live failure never silently becomes a fake success.

The public judge build intentionally runs the clearly labeled DEMO_FIXTURE benchmark so anyone can complete the full workflow without receiving a private API key. The repository contains the real Qloo MCP integration path and contract tests, but this demo does not claim that its visible results are a live Qloo response.

Challenges we ran into

The hardest technical problem was evidence integrity. Qloo affinity is relative to a query set, so comparing separately produced or cross-domain scores would be misleading. We enforced a single-query ranking invariant and bind each ranking result to a SHA-256 digest.

We also wanted a reliable public demo without hiding the data source. Many agent demos silently fall back to mock data when an API fails. LastRack makes the source mode visible on screen and transitions live failures to ERROR instead of relabeling fixture data.

Finally, we kept the output useful for a busy merchant. The agent does not produce an endless chat transcript. It produces three bounded experiments, a clear evidence ledger, an ablation comparison, and one portable decision receipt.

Accomplishments we're proud of

  • A non-trivial Qloo MCP integration with typed contracts and source-mode transparency.
  • A visible ablation that proves why cultural intelligence changes the answer.
  • Deterministic commercial guardrails and a claims validator that rejects sales promises, causal claims, unauthorized endorsements, and demographic targeting.
  • 92 Vitest tests and 26 Playwright/Axe executions passing across desktop and mobile flows.
  • A public, end-to-end judge demo with no login and no private key.
  • Zero committed credentials found by repository and Git-history secret scanning.

What we learned

Cultural intelligence is most useful when it narrows a decision, not when it decorates a recommendation. The strongest workflow was not “generate more ideas.” It was: resolve the merchant's taste anchors, find defensible adjacencies, rank comparable options correctly, enforce real constraints, and show what evidence led to the final experiment.

What's next

Next we would connect Shopify or Square inventory events, add local venue schedules, and let merchants record actual sell-through after each experiment. That would create a feedback loop in which LastRack learns which cultural interventions work for a specific store—without collecting individual customer histories or demographic profiles.

Try it

Built With

Share this project:

Updates

Submission history