Project 5 of 5 · AI-Powered Web Application
AI Data Analyst
Assistant
Upload any CSV and receive an AI-generated executive summary, auto-rendered charts, and a conversational interface to dig into your data — in seconds. No BI tools. No formulas. No data team.
Business data that never gets analyzed
Small and medium businesses generate operational data constantly. Sales records, inventory logs, customer transactions. Most of it sits unread in Downloads folders. Hiring a data analyst is expensive. Learning Power BI or Tableau takes weeks. Spreadsheet formulas are intimidating for non-technical teams.
Three tiers. One seamless experience.
A single HTML file frontend, a Netlify serverless function as the API proxy, and Claude as the intelligence layer. The full analysis pipeline runs in under 10 seconds.
→
PapaParse
→
Data summary
→
Netlify Fn
→
Claude API
→
Charts + Chat
Two modes. One AI. Precise outputs.
The system prompt does the heavy architectural lifting. Claude operates in two distinct modes depending on whether it’s the initial analysis or a follow-up chat message.
{
“summary”: “string”,
“charts”: [{
“type”: “bar|line|pie”,
“title”: “string”,
“labels”: [“…”],
“datasets”: [{…}]
}]
}
{
“dataSummary”: {/* cols, stats */},
“history”: [
{ “role”: “user”, … },
{ “role”: “assistant”, … }
],
“message”: “current Q”
}
time series → line chart
categories → bar chart
proportions → pie/doughnut
// No chart logic in the client
// — only rendering
Architecture & tools
What made this technically interesting
JSON.parse() to handle markdown code blocks.ANTHROPIC_API_KEY strictly server-side. The client POSTs to /.netlify/functions/chat and receives Claude’s response — the key never appears in any client-side code, network tab, or GitHub commit.
What this project proves
- Dual-output structured responses
- Strict JSON schema enforcement
- Chart type selection via AI
- Grounded follow-up chat
- Prompt caching strategy
- Drag-and-drop file upload
- Client-side CSV parsing
- Chart.js integration
- Single-file architecture
- Mobile-responsive layout
- Netlify serverless proxy
- Claude API (analyze + chat)
- CORS configuration
- Secure key management
- Error handling + edge cases
- Summary-not-raw-data
- Three-tier web architecture
- Reusable Netlify proxy pattern
- Offline test coverage (11/11)
- Claude Code deployment
Who this is built for
📄 PDF report export
🔄 n8n scheduled analysis
🔗 CRM direct integration
📁 Multi-file comparison
in your product?
I build AI-powered tools that work in production — not just demos. Let’s talk about what you’re trying to automate or analyze.
