</>Seif Ashraf
← All projects
Demo build

SaaS Analytics Dashboard

See who activates, who pays, and who's about to churn.

Built for: Early-stage SaaS founders and small product teams who need a clear read on usage and revenue without stitching together separate analytics, billing, and admin tools.

Runs in your browser — fictional data, nothing to install.

Real screenshot of the working demo — click it to try the app itself.

The problem

Early SaaS teams usually have their numbers scattered: signups in the database, revenue in Stripe, product usage nowhere useful. That makes basic questions — are new users activating, is the trial converting, who is drifting toward churn — slow to answer and easy to get wrong. Billing tends to get bolted on late, which turns plan changes and invoices into recurring support work.

The solution

This dashboard puts product and revenue data in one place a founder actually checks. It tracks activation, retention, and revenue side by side, runs subscriptions end-to-end through Stripe, and gives admins a health view of every account. Teams and roles are built in, so customers manage their own workspaces instead of raising tickets.

What it does

Activation funnel

Shows whether new signups actually reach the product's core value, so you find out if onboarding is broken before churn tells you.

Retention cohorts

Tracks how each week's signups keep coming back, separating a growth problem from a leaky-bucket problem.

Revenue overview

Puts MRR, trial conversion, and churned revenue on one screen so pricing and product decisions rest on the same numbers.

Teams and roles

Lets customers invite colleagues with the right level of access, so growing accounts don't turn into admin work for you.

Stripe subscription billing

Handles plans, free trials, upgrades, and invoices end-to-end, so billing edge cases don't eat engineering weeks.

Self-serve billing portal

Customers update payment details and download invoices themselves instead of emailing support.

Account health admin view

Flags accounts whose usage is fading before renewal, giving the team a reason to reach out while it still matters.

Why it mattersto the business

  • Product decisions get made from actual activation and retention behaviour instead of gut feel.
  • Billing and account management become self-serve, cutting the support back-and-forth that eats a small team's week.
  • At-risk accounts surface before renewal, turning churn from a surprise into something you can act on.
  • One codebase covers analytics, billing, and admin, so an early-stage team isn't paying for and gluing together three separate tools.

Technology

Next.js (App Router)TypeScriptPostgreSQLPrismaStripe BillingRechartsAuth.jsTailwind CSS

Honesty note: This is a self-initiated demo build with sample data — made to show what I can deliver, not a client project.

Want something like thisfor your business?

This demo maps to a real problem. If it's one your business has, I can build the version that fits how you work.