Inspiration: I already build ParkZeno, a dynamic pricing platform for parking operators. In production we use ML models with strong accuracy, but operators keep asking the same question: when something big happens near our bays — a match at Wembley, Tube chaos, a concert — should we change price, and can we prove why?

That signal lives everywhere on the web, while business rules and audit trails usually sit in separate systems. When I saw the tokens& Multiagents Hackathon theme — and sponsors like Prometheux, ClickHouse, and Tavily — I wanted to prototype what ParkZeno’s next architecture should look like: not one LLM call, but a mesh of specialized agents that search, reason, price, and validate, with every step logged.

ParkZeno Agent Mesh is that prototype: a standalone hackathon build, fully isolated from my production SaaS, showing how multi-agent dynamic pricing can work in the real world.

What it does: ParkZeno Agent Mesh dynamically prices parking bays in real time using four collaborating agents:

Demand Signal Agent — gathers external demand intelligence (events, football, weather, transport via Tavily-style search, plus a reliable Wembley match-day demo scenario) Ontology Reasoning Agent — uses Prometheux executable Vadalog rules to explain why price should move (up, down, or hold) Pricing Agent — calculates a new price from demand signals + ontology reasoning Compliance Validation Agent — enforces operator guardrails (min/max price, max % change per cycle)

How we built it: Demand Signals → Ontology Reasoning → Pricing → Compliance

                  ↓ orchestrator logs every step
             ClickHouse Cloud → Streamlit Run History

Challenges we ran into: Challenges we ran into

Project isolation — Needed a full sibling project so a hackathon experiment could never break production ParkZeno; extra setup, but essential.

ClickHouse Cloud setup — Host pasted twice in .env, macOS SSL cert errors until certifi was wired; hostname had to exclude https:// and port suffix.

Prometheux onboarding — Finding org/username (solo / shadabjn), API token setup, and starting Compute (NO_ACTIVE_COMPUTE) took real debugging; JarvisPy URL required lowercase username and TLS.

Vadalog + parser edge cases — Prometheux returned both up and hold for the same Wembley run; the parser initially picked HOLD, showing £6.00 → £6.00. Fixed ontology rules and recommendation priority so high-impact signals correctly drive UP.

Accomplishments that we're proud of: End-to-end multi-agent pipeline that runs live — four distinct agents with visible handoffs, not a single chatbot wrapper

Prometheux integration working in production conditions — live Vadalog ontology reasoning with graceful fallback to local mock ClickHouse Cloud as the audit backbone — every mesh run and agent step persisted, queryable, and shown in dashboard Run History (verified with real insert + read-back) Domain-credible problem — grounded in ParkZeno, a real dynamic pricing product; this mesh is the architecture I want to ship next Demo reliability under pressure — Wembley scenario, compute fallbacks, and mock Tavily so the system completes even when APIs fail

What we learned: Multi-agent architecture fits pricing better than one LLM call — search, reasoning, pricing, and compliance have different trust boundaries; separating them makes the system testable and explainable

Explainable AI is a product requirement — Prometheux produces human-readable “why” chains (“Aggregate demand pressure warrants a price increase”), not just a number Observability wins hackathons and customers — ClickHouse event streaming turned agent collaboration into something judges could verify; replay beats rhetoric Fallbacks are part of the feature — Prometheux compute can stop, APIs can fail, parsers can misread dual recommendations; resilient design kept the demo alive

What's next for ParkZeno Agent Mesh: Replace pricing stub with production ParkZeno XGBoost/LightGBM model serve (R² ~0.93 already in prod)

Enable live Tavily for all production zones Deepen Prometheux ontology via MCP, richer Operator → Zone → Bay models, and chase-graph lineage in the dashboard

Built With

  • clickhouse-cloud
  • cursor
  • git
  • multi-agent-ai
  • prometheux-(prometheux-chain)
  • pydantic
  • python
  • sqlite
  • streamlit
  • tavily-api
Share this project:

Updates