How We Built saasdb.app: From Idea to 172+ Indexed Pages
The architecture behind saasdb.app — how we went from idea to tracking 172+ public SaaS metrics using Next.js, Supabase, and Recharts, and what this means for your MVP.
We built saasdb.app to solve a simple problem: finding reliable, up-to-date SaaS metrics was incredibly difficult. The data was scattered across investor relations PDFs, quarterly reports, and outdated articles. We wanted to centralize NRR, Rule of 40, gross margin, and EV/Revenue metrics into a single, clean database.
Our goal was to prove that a useful, data-driven web app could be shipped quickly. In this post, we explain how we designed the architecture, processed the data, and launched saasdb.app.
The Brief
The product needed to do one thing exceptionally well: let users view and filter SaaS metrics in real-time. We wanted a clean, filterable interface that worked perfectly on desktop and mobile. Specifically, the MVP required:
- An NRR Leaderboard to rank companies by retention.
- Rule of 40 Rankings combining growth and free cash flow margins.
- EV/Revenue Multiple comparisons to show public valuations.
- A central repository of Gross Margin data.
- A benchmarking panel for founders to compare their own metrics.
We wanted to build this without a massive budget or a large team. The entire product had to be shipped by a single developer in less than two weeks.
The Scoping Phase: Ruthlessly Cutting Features
In the initial brainstorming session, we had a long list of features. We wanted user accounts, custom watchlists, interactive notifications when multiples changed, PDF export capabilities, and historical charts spanning ten years.
If we had tried to build all of this for the first version, the project would have taken three months. Instead, we applied our own scoping framework. We asked: what is the minimum set of features required to provide value?
The answer was simple: a fast, filterable table showing verified numbers. We cut out user accounts entirely. We removed PDF exports and watchlists. We focused 100% of our energy on the data presentation and search speed. This decision saved us weeks of engineering effort and allowed us to launch a working prototype on Day 11.
The Build
To keep development fast, we chose a modern, serverless stack. Our application runs on Next.js 14 using the App Router, combining server components for fast load times and client interactivity where needed.
graph TD
A[Next.js App Router] --> B[Supabase PostgreSQL]
A --> C[Recharts Visualization]
A --> D[MDX Content Layer]
1. Database and Security
We selected Supabase (PostgreSQL with pgvector and Row-Level Security) as our database layer. PostgreSQL handles structured company metrics easily, and Row-Level Security (RLS) ensures that user inquiries and bookmarks remain private. Using Supabase meant we did not need to write a separate backend API or configure custom database servers.
Here is a look at how our simplified database table was structured:
ticker: Unique string (Primary Key)name: Company namenrr: Numeric retention valueruleOf40: Computed efficiency scoregrossMargin: Software gross profit percentageevRevenue: Enterprise multiple
2. UI and Styling
For styling, we used Tailwind CSS combined with CSS custom properties. By matching variables like --bg-primary and --accent directly in our global styles, we maintained visual consistency. Interactive charts were built using Recharts, which compiles clean SVG elements on the client side without hurting performance.
3. Content and Rendering
The blog and documentation pages are rendered dynamically using next-mdx-remote and gray-matter. This lets us write articles in markdown and inject live React components directly into the prose.
The Result
The launched version of saasdb.app successfully indexes 172+ public SaaS companies with 5 key metrics per company.
We wanted the entry barrier to be as low as possible, so we made a free forever plan available without requiring an email address. This product-led growth strategy drove immediate traffic from SaaS founders and investors who wanted to check their valuation multiples in real-time.
All company statistics on the leaderboard are pulled directly from our metrics database, ensuring that users always see the latest verified data.
Lessons Learned in Production
Launching saasdb.app taught us several important lessons about serverless data applications:
- Client-side filtering is faster for small datasets: With under 200 rows of company data, sending the entire database to the client and filtering it using local JavaScript state is far faster than making API requests on every keystroke.
- Cache your static views: Since public SaaS metrics only change quarterly, we pre-rendered our benchmark articles as static pages. This reduced server execution times to near-zero.
- Keep SEO layouts clean: By using structured breadcrumb data and JSON-LD schemas, we achieved high rankings on Google for terms like "SaaS gross margin benchmarks" within weeks of launch.
What This Means for Your Project
Many founders spend months and tens of thousands of dollars scoping their MVP. They believe they need an admin panel, a billing system, and a dozen integrations before launch.
We built saasdb.app to prove the opposite. A highly focused product that solves a single core problem can be shipped in under two weeks. By choosing a serverless database (Supabase) and a modern framework (Next.js), we eliminated infrastructure management and focused entirely on the user experience.
If you are scoping a new software project, ask yourself: what is the single feature that delivers the most value? Strip away everything else. You can always build the rest once you have users.
Building something that needs metrics like these?
Araho Digital ships AI-powered SaaS tools in 1–3 weeks. We built saasdb.app as a live example of what we can deliver for your business.
saasdb.app was built and is maintained by Araho Digital.
Data sourced from saasdb.app — tracking 172+ public SaaS companies. As of Q1 2025.