Skip to content

Add export to CSV/JSON for further analysis #10

Description

@rchojn

Problem

Users want to analyze eval results in external tools (Excel, Jupyter, R, Tableau) but GoEvals only shows data in the dashboard.

Proposed Solution

Add export functionality:

  • Export to CSV (for Excel, Google Sheets)
  • Export to JSON (for programmatic analysis)
  • Filter before export (date range, model, score threshold)
  • Batch export (all results or selection)

Competitive Context

  • Langfuse: API export with filters
  • Phoenix: Dataset export for fine-tuning
  • Helicone: CSV/JSON export built-in

GoEvals approach: Client-side export using browser APIs, no server-side processing needed.

Implementation

  1. Add export buttons to dashboard:

    • "Export to CSV" button
    • "Export to JSON" button
    • Filter controls (date range, model selection)
  2. Client-side export logic:

// Server: Provide filtered results as JSON
func handleExportJSON(w http.ResponseWriter, r *http.Request) {
    // Parse filters from query params
    results := filterResults(allResults, filters)
    json.NewEncoder(w).Encode(results)
}

// Client: Browser downloads as file
<button onclick="downloadCSV()">Export to CSV</button>
  1. CSV format:
timestamp,model,test_id,combined_score,accuracy,fluency,response_time_ms
2025-10-26T14:30:00Z,gemma2:2b,eval_001,0.85,0.90,0.88,1234

Value for SafeReader

  • Statistical analysis: Run t-tests comparing models in R/Python
  • Reporting: Create monthly performance reports in Excel
  • Sharing: Send eval results to stakeholders as CSV
  • Archiving: Backup results outside JSONL format

Philosophy

  • Client-side export - no server processing overhead
  • Stdlib only - generate CSV/JSON in Go
  • Local-first - export happens in browser
  • No external services - no cloud export APIs

Success Metrics

  • Export 1000+ results to CSV in < 2 seconds
  • CSV opens correctly in Excel/Google Sheets
  • JSON is valid and parseable by jq/Python

Metadata

Metadata

Assignees

No one assigned

    Labels

    data-analysisData analysis and reportingenhancementNew feature or requestexportData export and analysis features

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions