happiness-dashboard

majiayu000's avatarfrom majiayu000

Evidence framework data dashboard with DuckDB. Write SQL in markdown to create visualizations.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 5, 2026⬇️1downloads

When & Why to Use This Skill

This Claude skill enables the rapid creation of interactive, high-performance data dashboards using the Evidence framework and DuckDB. It allows users to transform raw CSV data into professional visualizations by writing SQL queries directly within Markdown files. Leveraging a modern tech stack including Svelte and pnpm, it provides a streamlined workflow for building data-driven stories and static-site reports without the need for complex database infrastructure.

Use Cases

  • Business Intelligence: Quickly convert local CSV datasets into interactive dashboards for stakeholder presentations and internal performance reviews.
  • Data Journalism: Combine narrative writing with live data visualizations by embedding SQL-powered charts directly into Markdown-based reports.
  • Rapid Prototyping: Build and deploy lightweight analytical tools for tracking historical trends and current metrics using embedded DuckDB for fast processing.
  • Automated Reporting: Generate static, SEO-friendly data sites that can be easily deployed to platforms like Vercel or Netlify for public or private access.
namehappiness-dashboard
descriptionEvidence framework data dashboard with DuckDB. Write SQL in markdown to create visualizations.

Happiness Dashboard

An interactive data dashboard using Evidence framework - write SQL queries in markdown to create visualizations.

Tech Stack

  • Framework: Evidence
  • Database: DuckDB (embedded)
  • Frontend: Svelte
  • Package Manager: pnpm
  • Output: build directory
  • Dev Port: 3000

Setup

1. Clone the Template

git clone --depth 1 https://github.com/Eng0AI/happiness-dashboard-template.git .

If the directory is not empty:

git clone --depth 1 https://github.com/Eng0AI/happiness-dashboard-template.git _temp_template
mv _temp_template/* _temp_template/.* . 2>/dev/null || true
rm -rf _temp_template

2. Remove Git History (Optional)

rm -rf .git
git init

3. Install Dependencies

pnpm install

4. Process Data Sources

pnpm run sources

Build

pnpm run build

Generates static site in build/ directory.

Deploy

vercel pull --yes -t $VERCEL_TOKEN
vercel build --prod -t $VERCEL_TOKEN
vercel deploy --prebuilt --prod --yes -t $VERCEL_TOKEN

Important: Deploy from project root, not build/ directory.

Netlify

netlify deploy --prod --dir=build

Data Sources

CSV files in sources/happiness_score/:

  • hs2024.csv - Current year happiness data
  • hsArchive.csv - Historical happiness data

Notes

  • Use pnpm (not npm) - .npmrc has shamefully-hoist=true for Evidence compatibility
  • Build locally - Vercel/Netlify build can timeout due to DuckDB compilation (40+ min)
  • Uses CSV files, no database setup needed
  • Never run pnpm run dev in VM environment