Pocket Analyst is a web-based data analysis platform that empowers users to explore datasets and query data analysis techniques. It offers interactive visualizations, actionable insights, and transparent citations as raw URLs.
Users can upload CSV or Excel files for analysis or ask questions about data techniques, receiving detailed responses powered by the Perplexity Sonar API. Built with React, Express, and Chart.js, Pocket Analyst combines a mobile-responsive design with a neon aesthetic, featuring Orbitron and Roboto fonts and a dark/light mode toggle.
- Features
- Getting Started
- Usage
- Technical Architecture
- File Structure
- Troubleshooting
- Contributing
- Roadmap
- CSV Data Analysis: Upload CSV files to generate insights, business recommendations, and future analysis methods via
/analyze-data. - Interactive Visualizations: Bar charts using Chart.js.
- Query Interface: Ask data questions like βHow to find duplicates in SQL?β via
/analyst-query. - Transparent Citations: Raw clickable URLs like
https://www.atlassian.com/.... - Mobile-Responsive Design: Styled with Tailwind CSS.
- Future Analysis Tools: Recommends tools like PySpark, Tableau, and methods like clustering.
- Scalable Backend: Express server with Sonar API integration.
- Error Handling: Graceful messages and console logging.
- Data Analysis
- Data Queries
- Node.js v16+ Download
- Perplexity Sonar API Key Get it here
- VS Code (Recommended)
- Git & Browser (Chrome, Firefox, Edge)
git clone https://github.com/your-username/pocket-analyst.git
cd pocket-analyst
npm install express axios dotenv csv-parse multer corsCreate a .env file:
PERPLEXITY_API_KEY=your_api_key_herenode server.jsThen visit: http://localhost:3000
- Navigate to Upload Data.
- Upload a file (
sample.csv):
order_id,user_id,product_id,order_date,category,product_name,price,quantity,revenue,...
1,101,201,2025-01-01,Electronics,Laptop,1000,1,1000,...
2,102,202,2025-01-02,Clothing,Shirt,50,2,100,...
- Click "How can we analyze this Data?"
- Chart: Revenue by category (e.g., Electronics $3800)
- Insights: Trends like "Electronics = 86% revenue"
- Recommendations: Business strategies
- Future Analysis: Tools & methods
- Citations: Raw URLs or βNo external sources citedβ
- Navigate to Questions.
- Enter a question: "How to find duplicates in SQL?"
- Click Execute
- Results: SQL example using
GROUP BY - Citations:
[1] https://www.atlassian.com/... - Reasoning: Explanation from Sonar
- Follow-up: Optional additional input
-
Framework: React (JSX via CDN)
-
Styling: Tailwind CSS with Cyberpunk theme:
- Neon Pink
#FF007A - Cyan
#00D4FF - Purple
#9D00FF
- Neon Pink
-
Fonts:
- Orbitron (titles/buttons)
- Roboto (text)
-
Charts: Chart.js v4
-
Components:
- Sidebar, AnalystQueryInput, DataUpload, Chart, ResultDisplay, ThemeToggle
-
Error Handling:
ErrorBoundary
-
Framework: Express.js
-
File Handling: Multer for CSVs,
csv-parse -
Endpoints:
POST /analyst-queryPOST /analyze-data
-
Session:
conversationHistoriesMap -
CORS: Enabled
-
Errors: Console logs and UI alerts
-
Service: Perplexity Sonar
- Endpoint:
https://api.perplexity.ai/chat/completions - Model:
sonar-pro - Auth: Bearer Token via
.env
- Endpoint:
-
Citations:
- Inline like
[1]mapped to raw URLs
- Inline like
pocket-analyst/
βββ public/ # Static frontend
βββ uploads/ # CSV uploads
βββ docs/ # Screenshots
βββ .env # API keys
βββ server.js # Express backend
βββ sample.csv # Demo file
βββ README.md
βββ package.json
βββ node_modules/
- Server won't start: Check terminal logs and
.env - No citations: Inspect
/analyst-queryresponse in browser dev tools - Chart not rendering: Ensure correct CSV structure
- Mobile issues: Use Chrome DevTools, inspect Tailwind
sm:classes
We welcome contributions!
# Fork + Clone
git clone https://github.com/kishanraj41/pocket-analyst.git
# Create branch
git checkout -b feature/your-feature
# Commit
git commit -m "Add your-feature"
git push origin feature/your-feature- Add More Visualizations based on Data
- Validate uploaded CSVs and Excel Files
- Improve accessibility
- Live Q/A regarding uploaded data
- Browser Extension
- Real-time data stream support
- New API Integration for Deeper analysis
- Mobile and Desktop app
- Storage for Personalization
- CI/CD and unit testing