// Case Study · AI SaaS · Product I own

FeedLens

An AI SaaS that turns raw customer reviews into decisions — sentiment, recurring themes and the concrete action items worth a team's time, in one calm dashboard. Designed, built and owned end to end.

Next.js · SupabaseGroq AISaaS I ownXendit billing
app.getfeedlens.com · dashboard
// review → sentiment · themes · action
Raw reviews, turned into decisions.
Sentiment
pos · neu · neg
Themes
up to 3 / review
Action items
1 concrete step
3
signals / review (sentiment · themes · action)
1–5
sentiment score scale
50/mo
free-tier analyses
Solo
designed, built & owned
01

The problem

Customer feedback piles up faster than anyone can read it — scattered across stores, forms and support threads. Reading it one review at a time doesn't scale, and a gut-feel summary misses what to actually do.

Teams don't need more dashboards of raw text — they need the signal: how people feel, which themes keep recurring, and the specific next step. FeedLens was built to turn the pile into a short, honest list of decisions.

02

What I built

A full AI SaaS: paste or upload feedback, let the model do the reading, and get back sentiment, themes and action items — with the auth, plans and billing of a real product around it.

01

Paste or upload feedback

Drop in raw customer reviews from anywhere — no schema, no setup — and FeedLens takes it from there.

02

Per-review AI signals

Each review gets a sentiment (pos/neu/neg), a 1–5 score, up to 3 recurring themes, and one concrete action item.

03

Dashboard & trends

Sentiment over time, top themes and an action-item queue — the signal, not the noise, in one calm view.

04

Plans & billing

Auth, workspaces, a metered free tier and a Pro plan with checkout — the full SaaS surface.

03

Under the hood

AI analysis pipeline (Groq)

Reviews are analysed by gpt-oss-120b via Groq under a strict-JSON contract, so each one comes back as clean, typed data — sentiment, score, up to three themes and a specific action — same length and order as the input, no free-text drift.

Auth & workspaces

Supabase Auth with a server-side session (@supabase/ssr), so every query runs as the signed-in user across workspaces.

Metering & rate limits

A metered free tier (50 analyses/month), per-user rate limiting and Pro gating keep the AI spend and abuse in check.

Billing (Xendit)

Checkout via Xendit with a signature-verified webhook — a PAID/SETTLED invoice flips the workspace to Pro. (Billing is wired end-to-end and currently runs in test mode.)

Analytics dashboard

Recharts-driven sentiment-over-time and theme breakdowns turn the AI output into something a team can actually read at a glance.

Product-grade surface

Next.js 16 App Router, a real login, settings, theming, and privacy/terms pages — built like a product, not a demo.

04

Stack

Frontend

  • Next.js 16
  • React 19
  • TypeScript
  • Tailwind v4
  • Recharts

Backend & AI

  • Supabase (Auth + DB)
  • Groq · gpt-oss-120b
  • Route handlers

Billing & Ops

  • Xendit (checkout + webhook)
  • Metering / rate limits
  • Vercel Analytics
05

Outcome

A live, working AI SaaS I designed, built and own end to end — from the AI pipeline to the dashboard to billing.
AI wired into a real workflow (feedback → decisions), not a chatbot bolted onto a page.
Structured, typed AI output under a strict contract — reliable enough to build a product on.
The full SaaS surface: auth, workspaces, metered free tier, Pro plan and checkout (Xendit, in test mode).
// let's build

Want AI in your product — done right?

I build AI into real workflows and run a SaaS of my own. New product or an update to an existing one — let's talk.