An arbitrage dropship recommender: Reflex watches what you search for, hunts the price gap between local sourcing and EU prices, and negotiates the deal. An entry for the NVIDIA Claw Agent Challenge (Barcelona).
A scripted replay of a real run — the same flow as the live dashboard. It hunts, it picks, it negotiates.

📊 Open the pitch deck 12 slides · also as PDF
The live Flask demo, driven end-to-end: real Amazon products, live supplier search, simulated negotiation.




The architecture, drawn for humans: the loop, the distillation, the Jev-style typed head, and the haggle.




Cross-border arbitrage is simple. Finding the one product worth working — before everyone else — is the hard part. Reflex does it in five steps:
What you keep looking up is your edge — the niche you understand. The agent hunts there, not in generic trend lists.
For products in your space it compares local sourcing cost vs EU retail and does the margin math.
Not fifty maybes — the single best risk-adjusted opportunity, picked by your distilled deal instinct.
The slow brain stress-tests it: competition, shipping, quality risk — before a cent is considered.
Finds suppliers, drafts outreach, rehearses the negotiation. Money never moves without you.
Psychologist Daniel Kahneman showed humans think in two systems — fast instinct, slow analysis. Reflex is built the same way. The fast one is the breakthrough: a tiny model that is a compressed copy of your judgment. Like espresso from a pot of coffee — all the flavor, none of the volume.
| 🟢 System One | 🔵 System Two | |
|---|---|---|
| What | Your distilled deal instinct | A large AI analyst (your OpenAI-compatible LLM) |
| Speed | ~16 milliseconds | ~10–60 seconds |
| Cost | Free, runs on your laptop | Paid API call |
| Handles | Screening thousands of candidates | Verifying the one opportunity |
Every verdict is typed — shortlist / pass / research with a calibrated probability and a rationale — and the Noul safety gate sits in front of everything consequential: the agent can research, draft, and negotiate, but it can never move money without you. Reflex recommends; it never transacts.
The full repo is MIT-style open. Two pieces carry the whole design:
class DecisionHead(Protocol):
version: str
def judge(self, product: Product) -> Judgment: ...
def judge_batch(self, products: list[Product]) -> list[Judgment]: ...
class SklearnHead:
"""Calibrated gradient boosting head trained on personal labels."""
def __init__(self, settings: Settings | None = None):
base = HistGradientBoostingClassifier(
max_iter=300, learning_rate=0.06, max_leaf_nodes=31,
min_samples_leaf=20, l2_regularization=1.0, random_state=7,
)
self.model = CalibratedClassifierCV(base, method="sigmoid", cv=3)# Money movement / commitment — blocked.
_BLOCKED = re.compile(
r"\b(buy|purchase|order|checkout|pay|payment|transfer|wire|deposit|"
r"pre-?order|send money|charge (my|the) card|place .*order|"
r"close the deal|sign .*contract|send .*contract)\b",
re.IGNORECASE,
)
def check(action: str) -> NoulVerdict:
"""Return allowed=False for anything that moves money."""
...
if _BLOCKED.search(action):
return NoulVerdict(action=action, allowed=False, reason=(
"Noul safety gate: this action would move money. "
"Reflex drafts and negotiates; it never transacts "
"without your approval."))Spin up the whole thing in your browser — no local setup. The dashboard starts automatically in offline demo mode; add your OPENAI_API_KEY + EXA_API_KEY as Codespaces secrets and it goes live.
Prefer local? Quickstart in the README — three commands to the dashboard.
OPENAI_API_KEY=your-key EXA_API_KEY=your-key \ .venv/bin/python -m reflex.web.app --port 8765 # → http://localhost:8765