Skip to content

soonieboi/paste-bi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PasteBI

AI-powered data analysis tool. Paste your CSV, JSON, or tab-separated data and get instant visualizations and insights powered by Claude AI.

Features

  • AI-Powered Analysis: Claude automatically chooses the best chart type (bar, line, pie, scatter) and extracts key insights
  • Multiple Data Formats: Supports CSV, JSON, and tab-separated data
  • Interactive Chat: Ask follow-up questions to explore your data further
  • Share Results: Generate unique URLs to share your analysis with anyone
  • Dark Theme: Clean, modern dark UI with indigo/violet accents

Tech Stack

  • Frontend: React + TypeScript + Vite
  • Backend: Node.js + Express + TypeScript
  • Styling: Tailwind CSS
  • Charts: Recharts
  • AI: Anthropic Claude (claude-sonnet-4-6)

Project Structure

/client   → Vite React TypeScript app
/server   → Express TypeScript API
/shared   → Shared TypeScript types

Setup

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Anthropic API key

Installation

  1. Clone the repository:
git clone <repo-url>
cd paste-bi
  1. Install all dependencies:
npm run install:all
  1. Create a .env file in the root directory:
cp .env.example .env
  1. Add your Anthropic API key to .env:
ANTHROPIC_API_KEY=your_api_key_here
PORT=3001

Development

Start both the client and server in development mode:

npm run dev

This will start:

Build

Build both client and server for production:

npm run build

API Endpoints

POST /api/analyze

Analyze pasted data and return structured insights.

Request Body:

{
  "data": "your CSV, JSON, or tab-separated data"
}

Response:

{
  "sessionId": "uuid",
  "analysis": {
    "chartType": "bar" | "line" | "pie" | "scatter",
    "chartData": [...],
    "chartConfig": { "xKey": "...", "yKey": "...", "title": "..." },
    "insights": ["insight 1", "insight 2", ...],
    "anomalies": ["anomaly 1", ...],
    "summary": "Brief summary of the data"
  }
}

POST /api/followup

Ask follow-up questions about your data.

Request Body:

{
  "sessionId": "uuid",
  "question": "your follow-up question"
}

GET /api/session/:id

Retrieve a saved analysis session.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors