Skip to content

joaohlisboa/luma-stats

Repository files navigation

Luma Stats

Dashboard for Claude ambassadors to visualize and triage Luma event registrations.

Drop your CSV, run one command, get a full dashboard with charts, triage tools, and an approved list.

Dashboard view

Triage balance tracking

Prerequisites

Quick Start

# 1. Clone and install
git clone <this-repo>
cd luma-stats
pnpm install

# 2. Export your guest list from Luma (CSV format)
#    Place it at data/list.csv

# 3. Process with Claude
pnpm process

# 4. Start the dashboard
pnpm dev

Open http://localhost:3000 to see your dashboard.

How It Works

pnpm process calls Claude CLI to analyze your CSV. Claude:

  • Detects standard Luma columns vs custom form questions
  • Classifies qualitative fields (roles, industries, interests) into meaningful categories
  • Computes a relevance score (0-100) for each candidate
  • Decides which charts to show and how to configure the dashboard
  • Outputs data/processed.json which the app reads

The app has 3 views (toggle at the top):

  • Dashboard — Charts and stats overview
  • Triage — Review and approve/decline candidates with balance tracking
  • Approved — Filterable table of approved candidates

Updating Data

When you get new registrations:

  1. Re-export the full CSV from Luma
  2. Replace data/list.csv
  3. Run pnpm process again

Your triage decisions are stored in the browser (localStorage) and are linked to candidate IDs, so they survive re-processing.

Deploying to Vercel

  1. Remove the data/processed.json line from .gitignore
  2. Commit data/processed.json to your repo
  3. Connect to Vercel and deploy

Never commit data/list.csv — it contains raw emails and personal data.

Security & PII

This tool displays full candidate information (names, emails, LinkedIn URLs) by design — it's an internal ambassador tool for event curation.

If you deploy publicly, protect access:

The raw CSV (data/list.csv) is always gitignored and should never be committed.

Custom Form Questions

The tool automatically detects custom columns in your Luma export. Claude analyzes each custom question and decides how to render it:

  • Categorical data → filter chips + charts
  • Free-text responses → detail fields in triage cards
  • Yes/no questions → filters

You can customize the prompt at scripts/prompt.md.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages