AI data analyst that monitors your estate, synthesises what it finds, and acts on it.
Data teams produce findings nobody reads. Execs don't open Looker. The data engineer's Slack message about a stale payments table gets buried. The insight exists — it just doesn't land.
DataBard closes that gap: it reads your data catalogue, computes health scores, narrates trend stories via two AI hosts, and writes the findings back into the graph.
▶ Try the live demo — no signup required
Built for the DataHub Agent Hackathon — reads DataHub's context graph, synthesises the estate, and writes back governance docs + ownership tags. "DataHub gives the agent context; DataBard makes the agent act."
Also entered in Monid's "We Kill" hackathon — maps supported endpoint results to health findings and recommendations, with provider-reported usage costs. Narrated briefings are a separate output. Video status and regeneration prerequisites.
git clone https://github.com/thisyearnofear/databard.git
cd databard
npm install
cp .env.example .env
# Required: ELEVENLABS_API_KEY (Starter plan or higher)
# Optional: OPENAI_API_KEY for LLM scripts (falls back to templates)
npm run devOpen localhost:3000 → default workspace is Protocols (switch to Teams anytime) → Try the demo (lands on this week's league) or connect a source → Dashboard / briefing → Share a score card.
Roast my data: /roast — the emotional hook variant; same product, different framing. Shareable by design.
Connect DataHub: pick 🧭 DataHub in the wizard (Teams), paste a GMS URL, connect. Run the fleet town hall at /fleet. Every capability is also agent-callable via the MCP tools (GET /api/mcp/tools).
Public league: /league — weekly ranked protocol data-health accounting (OG card + copy tweet/email). When a live scan isn't available, numbers match the seeded demo roster — don't pitch them as a live indexer audit.
See .env.example for the full list of optional env vars (Stripe, SMTP, Plausible, Solana, etc.).
Data source (DataHub, OpenMetadata, dbt, The Graph, Dune)
→ Schema analysis: health score · critical tables · lineage blast radius
→ Script generation: two-host narrative (Alex + Morgan via ElevenLabs)
→ Dashboard: health score · trend narrative · recommended actions
→ Audio briefing: 2-min executive or 15-min full analysis
→ Write-back (DataHub): governance docs · ownership tags · health/defect tags
→ Optional: Monday email from the finding · schedule weekly (Pro) · alert on drops · attest on-chain (Solana) · share a score card (21-day link)
| Source | Adapter | Status |
|---|---|---|
| DataHub | src/lib/datahub-adapter.ts |
✅ Shipped |
| OpenMetadata | src/lib/openmetadata.ts |
✅ Shipped |
| dbt Cloud + local manifest | src/lib/dbt-adapter.ts |
✅ Shipped |
| The Graph | src/lib/the-graph-adapter.ts |
✅ Shipped |
| Dune Analytics | src/lib/dune-adapter.ts |
✅ Shipped |
| Coral (50+ sources via SQL) | src/lib/coral-adapter.ts |
✅ Shipped (escape hatch for long-tail sources) |
| Monid (1,900+ metered endpoints) | src/lib/monid-adapter.ts |
✅ Shipped (per-call cost receipt) |
See docs/DATA_SOURCES_ARCHITECTURE.md for the tiered adapter design and graduation tracking.
| Layer | Technology |
|---|---|
| Web UI | Next.js 16, React 19, Tailwind CSS 4 |
| AI scripts | OpenAI-compatible API (GPT-4o-mini default; Azure drop-in via docs/AZURE.md) |
| Audio | ElevenLabs TTS (two voices) + Sound Effects API |
| Episode storage | Lens Protocol Grove (IPFS, immutable) via src/lib/grove-storage.ts |
| Caching | File-backed with TTL — no external dependencies |
| Payments | Stripe Checkout (Pro subscription) · x402 EIP-3009 USDT0 on X Layer (MCP pay-per-call) |
| Onchain | Solana Memo Program + PDA registry (Protocols workspace) |
| Analytics | Plausible (pageviews) + self-hosted event ledger (src/lib/events.ts) |
Source selection, payment method, and evidence anchoring are independent choices. No wallet is required to run the analyst or check receipt integrity offline.
monidCostreports the upstream endpoint's measured usage cost, not the total analysis/TTS cost or customer price.evidenceReceiptis an unsigned, chain-neutral integrity receipt, implemented on health-check in the repository. It does not authenticate DataBard or prove analytical correctness.- The Solana adapter prepares hash-only Memo transactions and checks RPC-reported inclusion and the expected wallet signer. It is tested at library level; HTTP/UI integration remains pending. Existing Solana and X Layer paths are unchanged.
See Portable Evidence for scope and trust limits. Repository support does not mean deployed support; pushing does not deploy.
DataBard is registered as an Agent Service Provider (ASP #9878, listed Sep 8 2026) on OKX.AI. The synthesis engine is exposed as A2MCP tools any MCP-compatible agent can call:
| Tool | Price | Endpoint |
|---|---|---|
databard_health_check |
Free | POST /api/mcp/health-check |
databard_briefing |
1 USDT / call (x402) | POST /api/mcp/briefing |
databard_probe |
1 USDT / call (x402) | POST /api/agent/probe |
databard_write_back |
Free | POST /api/mcp/writeback |
| Service discovery | — | GET /api/mcp/tools |
Before an agent pays another agent, it asks Probe: is this service worth it? Probe calls up to 10 candidate A2MCP endpoints in parallel (paying each via x402 where required, from a dedicated wallet with a hard spend cap), scores them on six dimensions — schema completeness, latency, freshness, price-per-value, reliability, credentials — ranks them, and optionally anchors the verdict hash on X Layer as an on-chain attestation.
- Live demo:
/probe— free browser preview (POST /api/probe/preview, no payments, 10/hr) plus the paid endpoint above ($1, outbound spend capped at $0.50). - Verified end-to-end on X Layer mainnet (Sep 18, 2026): inbound $1 settlement
tx
0x581d13…60a7, outbound payment to a third-party service0xeb22c2…63be6, verdict attestation0x5519c3…ac7a59(block 70981029). - Details, scoring rubric, economics:
docs/OKX_DEV_DAY_2026.md.
# Free, explicitly labelled demo — no data-source credentials required
curl -X POST https://databard.persidian.com/api/mcp/health-check \
-H 'content-type: application/json' \
-d '{"demo":true}'
# Paid briefing (x402) — returns 402 + PAYMENT-REQUIRED if unpaid;
# after payment returns script + audio (base64 MP3 + Grove URL) + health + actions
curl -i -X POST https://databard.persidian.com/api/mcp/briefing \
-H 'content-type: application/json' \
-d '{"source":"openmetadata","schemaFqn":"db.sales","openmetadata":{"url":"...","token":"..."}}'
# Inspect the Monid input schema before constructing a live request.
# The historical successful run also supplied endpoint-specific query parameters.
monid inspect -p surf -e /dex/token/price -jDataBard reads DataHub's full context graph (datasets, lineage, ownership, tags, assertions, freshness) and writes back:
- Governance-grade auto-documentation on dataset descriptions
DataBard_Health_*tags (health band, ownerless, stale, undocumented)- Suggested ownership on ownerless tables
See docs/DATAHUB_HACKATHON.md for the full submission packet and demo script.
$49/month per team via Stripe:
- Scheduled weekly digests (email via SMTP or webhook)
- Multiple schemas
- Custom alert thresholds
- On-chain attestation (Solana mainnet, Protocols workspace)
- Team email recipients
Free: demo, ad-hoc briefings, shared score cards, /league, leaderboard, health badge, verify. Monday email capture on the finding starts the habit before Pro.
| Doc | What it covers |
|---|---|
docs/STRATEGY.md |
North star, competitive positioning, product principles, why now |
docs/PLAN.md |
Full development roadmap (Phases 1–9) |
docs/GTM.md |
Viral hooks, engagement loops, user interview plan, outreach target list |
docs/OPERATIONS.md |
Prod env, deploy, schedule cron, shared-PM2 stay-alive |
docs/UNIT_ECONOMICS.md |
Cost-per-briefing, pricing, margin analysis |
docs/DATA_SOURCES_ARCHITECTURE.md |
Tiered adapter design, Coral graduation tracking |
docs/DATAHUB_HACKATHON.md |
DataHub hackathon submission packet, demo script, judging-criteria map |
docs/MONID_HACKATHON.md |
Monid "We Kill" hackathon packet, kill framing, judging-criteria map |
docs/MONID_VIDEO_SCRIPT.md |
Video script archive + current render/approval status |
docs/OKX_AI_ASP.md |
OKX.AI ASP registration, listing review rounds, shot list |
docs/AZURE.md |
Azure OpenAI + Container Apps migration guide |
npm run dev # dev server on localhost:3000
DATABARD_DATA_DIR=/tmp/databard npm run build # production build + bundle guard (<120MB)
./scripts/deploy.sh # local build → snel-bot (no npm on the box)
npx tsc --noEmit # type check
npm run test:unit # unit tests
npm run test:e2e # Playwright E2E (chromium + Mobile Safari)Apache License 2.0 — © 2026 DataBard Contributors.