Skip to content

Latest commit

 

History

276 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DataBard

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.


Quick start

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 dev

Open 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.).


How it works

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)

Data sources

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.


Tech stack

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)

Portable evidence, optional chains

Source selection, payment method, and evidence anchoring are independent choices. No wallet is required to run the analyst or check receipt integrity offline.

  • monidCost reports the upstream endpoint's measured usage cost, not the total analysis/TTS cost or customer price.
  • evidenceReceipt is 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.

A2MCP — agent-callable endpoints

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

DataBard Probe — service-quality oracle (OKX Dev Day 2026)

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 service 0xeb22c2…63be6, verdict attestation 0x5519c3…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 -j

DataHub integration

DataBard 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.


Pro subscription

$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.


Docs

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

Build commands

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)

License

Apache License 2.0 — © 2026 DataBard Contributors.

About

transform your data catalog into an interactive podcast experience

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages