DEV Community

Alberto Towns
Alberto Towns

Posted on

I shipped my first SaaS in a day — here's the stack, the costs, and what I learned

I've been in analytics and business strategy for 13 years. I know Python. I understand data. I've made a career out of helping companies make smarter decisions.

But until last week, I'd never built anything for myself. Every side project got stuck in planning mode — researching, overthinking, waiting for the perfect moment that never came.

Last week I tried something different. No planning. No Notion docs. Just sit down and build.

What I built

A CSV analyzer. You upload a CSV file and it instantly gives you:

  • Column-level statistics (mean, median, std dev, unique values)
  • Interactive charts (histogram, scatter, bar with percentages)
  • AI-powered analysis that explains your data in plain English

Everything runs in the browser. Your data never gets uploaded to a server. The AI analysis sends only summary statistics to the backend, not your raw data.

The stack

  • Next.js — frontend and API routes
  • Anthropic API (Claude) — powers the AI analysis
  • Stripe — payment processing
  • Vercel — hosting (free tier)
  • Plotly — interactive charts

Total infrastructure cost: roughly $1/month.

Security considerations

Since users upload files and AI processes data, I had to think about:

  • Prompt injection: CSV cells could contain "ignore previous instructions" — I sanitize all data before it reaches the AI with regex filters for common injection patterns
  • XSS: React auto-escapes, but I also strip HTML tags and neutralize URLs in cell values
  • API key exposure: The Anthropic API is called server-side via a Next.js API route. The key never reaches the browser.
  • File bombs: 50MB file size cap, row/column limits per pricing tier, individual cells truncated to 500 characters
  • Rate limiting: In-memory rate limiter on the API route — 10 requests per minute per IP

Pricing model

  • Free: 500 rows, 20 columns, stats and charts only
  • Single Analysis ($2.99): 50K rows, 50 columns, one AI analysis
  • Pro ($9/month): 500K rows, 100 columns, unlimited AI analyses

The AI analysis costs me about $0.01-0.03 per request, so margins are strong even at $2.99.

First week results

  • 127 visitors
  • $0 revenue
  • 2 out of 3 Reddit posts got auto-rejected
  • 0 comments on Hacker News
  • But real people visited and used the tool

Not glamorous. But it's real.

What I learned

The biggest obstacle wasn't technical. The code was the easy part. The hard part was not closing the laptop. Not switching to something easier. Not telling myself I'd do it tomorrow.

If you're stuck in planning mode — here's what worked for me: remove the gap between deciding and doing. Don't make a task list. Don't set up project management. Just open your editor and build the worst possible version. Ship it before your brain talks you out of it.

You can refine later. You can't refine something that doesn't exist.

Try it

Building in public from here. Feedback welcome — especially if you try uploading a CSV and something breaks.

Top comments (0)