Inspiration

I've organised and judged hackathons. Every time, judges drown in 100+ submissions with 60 seconds each. I wanted an open, MPP-native version that earns its keep by charging sub-cent per query on Tempo testnet: so judges literally "experience the protocol while they judge.

The personal moat: unpublished organiser heuristics: hard-won insights from building judging portals, designing tracks, and representing a hackathon chain: that no scraped dataset can faithfully reproduce. Those instincts are reinforced by extensive research across nearly every dimension of hackathon operations, including gaming prevention, hackathon ROI analysis, prior agentic-payments winners, judging triage, triage protocols, slop detection, and the rationale behind MPP. This isn't just another LLM wrapper; it's institutional knowledge forged through experience and distilled from years of battle-tested lessons.

What it does

Triage is an MPP-gated judge assistant that reads hackathon submissions so judges don't have to.

Flow:

  1. MPP Gate: Judge (or their agent) pays sub-cent via Tempo/MPP mppx channels to unlock a triage query. This is the demo: judges experience the protocol while judging.
  2. Submit: Paste a repo URL or project description into the hosted web chat (zero install).
  3. Structured Triage: The agent returns a verdict across 5 dimensions:
    • Why-MPP: Real channels/multi-rail usage vs decoration / x402-equiv / prepaid-equiv / "just MCP+keys"
    • Dupe Check: Similarity vs 43 prior MPP + x402 winners
    • Slop Signals: README polish vs real integration (commits, tests, demo completeness)
    • Legibility vs Quality: "Looks good" badges vs "is good" working demo + real settlement
    • Track/Criteria Fit: Maps to hackathon's explicit judging rubric
  4. Evidence + Score: Each dimension includes evidence snippets and a 0–100 score; overall verdict: Strong / Borderline / Weak / Slop.

Two modes:

  • Assessment — Demoed live on this event's submissions at 16:00 pitch
  • Application — General product: charge other hackathons per submission, settle on Tempo

Achievements I am proud of

  1. The moat is memory, not the model: many deep-research briefs + 6 organiser heuristics distilled into the eval prompt. Judges get 60s/project; Triage did the 40h of research they didn't.

  2. Honest "why MPP": Not "MPP solves everything." Only real edge = channels + multi-rail. Here MPP = access/billing gate. Organisers = sporadic users → pay-per-submission. Modest, coherent, true.

  3. Reusable core, not throwaway — The BuyerAdapter interface (quote → evaluate → pay → fulfill) came from energy-p2p (2nd place, real EURD on Algorand mainnet). Triage = one adapter (MPP). Apify = x402/Base. Flagship = Algorand. One core, three skins.

  4. Private notes containment — Organiser heuristics (judging portals, track design, chain repping) are the strongest moat but never leave the machine. Distilled to prompt slots; zero exposure via hosted agent or public demo.

  5. 32-hour sprint, shipped — Research → eval prompt → scaffold → MPP wiring → host → load memory → ingest live Devpost field → video → submit → pitch. Every constraint (rate limits, chainId mismatches, containment) hit and resolved.

How I built it

Architecture: one reusable core, swappable pay() adapter

interface BuyerAdapter {
  quote(intent)       -> Quote      // discover + price
  evaluate(quote)     -> Decision   // SHARED guardrail: budget/cap/policy
  pay(quote)          -> Receipt    // SWAPPABLE: MPP / x402 / Skyfire
  fulfill(receipt)    -> Result     // venue-specific delivery
}

Triage's pay() adapter = MPP (mppx channels on Tempo testnet)

  • Submission: structured triage: why-MPP verdict (channels/multi-rail vs decoration/x402-equiv/prepaid-equiv/"just MCP+keys"), dupe-check vs 43 winners, legibility-vs-quality, slop signals, track/criteria fit
  • Access: hosted web chat (zero install) + MPP-gated HTTP/MCP endpoint (Hermes/OpenClaw)
  • Brain: eval system-prompt with slots for:
    • why-MPP taxonomy (channels vs decoration)
    • dupe list (43 projects)
    • slop/legibility checklist
    • organiser heuristics (private, distilled)
    • output format (verdict + evidence + score)

Research memory injection: 10+ deep-research briefs (real-MPP-usage, slop tells, judging rubrics, protocol landscape): distilled into eval prompt slots. Unvibe integrated as primary prior art.

State machine (reused from energy-p2p): $$IDLE \to EVALUATING \to PAYING \to FULFILLING$$

Guardrail (shared, demo differentiator):

  • Per-query cap + total budget + price ceiling enforced in evaluate() before any pay()
  • Keys stay server-side (energy-p2p boundary rule)

UI: Live reasoning feed + JSONL payment ledger with Tempo explorer links (volt-connect pattern)

Challenges Faced

Private notes containment: Organiser heuristics are the strongest moat but cannot leave the machine. Distilled to heuristics slots in eval prompt; never exposed via hosted agent or public demo.

What I learned

Insight Source
MPP ≠ x402: real edge = channels (high-freq streaming) + multi-rail; here MPP = access/billing gate Deep research briefs 3–6 + organiser experience
Slop tells: README polish vs real integration (commits, tests, demo completeness); bounty-hunters game judging via template repos Prior-agentic-payments-winners (43 MPP projects)
Legibility vs quality: "looks good" signals (badges, long READMEs) vs "is good" (working demo, real settlement, novel use case) Unvibe pipeline analysis + organiser notes
No single chain spans venues: reusable core = agent loop + guardrail + UI, not the AVM client BBW26 venues research (16 sources)
Private notes containment — never leak confidential specifics via hosted agent or on stage; distil to heuristics only Containment policy

What's next for Triage

Immediate (post-hackathon)

  • Ingest live Devpost field (available ~Jun 20 09:00) → demo triages real competitors at 16:00 pitch
  • Run on own submission first
  • Open-source the eval prompt + adapter interface (MIT)

Short-term (1–4 weeks)

  • Productise the gate: Stripe → MPP bridge so any hackathon can enable "pay-per-triage" without judges holding crypto
  • Multi-hackathon memory: Persist research across events; new briefs auto-merge into eval prompt
  • Organiser dashboard: Submission queue, triage batch runs, judge assignment, export reports

Medium-term (1–3 months)

  • Agent-to-agent: Hackathon submission agents pay Triage agents via MPP for pre-screening
  • Protocol-agnostic pay() adapters: x402 (Base/Solana), Skyfire, Nekuda: swap rail, keep core
  • ERC-8004 reputation layer (optional): Verify submitter identity/reputation before triage (EVM cross-chain)

Built With

Share this project:

Updates