ia.

Kona Equity.

A searchable intelligence database of 3.8 million US private companies, and the billing, API, and CRM machinery that sells it around the clock.

Private companies don’t file.

Kona Equity is our own company, and the system every page on this site runs on. Public companies publish their financials; the millions of private companies that make up most of the economy do not. Sales teams, investors, recruiters, and researchers need revenue, headcount, and growth data on exactly those firms, and it lives scattered across CRMs, directories, and expensive enterprise data vendors.

One database, ninety columns deep.

We built the data asset, the search that holds up at four million rows, and three separate ways to sell it, all reading from one record per company:

The data asset

About 90 columns per company: annual revenue, quarterly revenue and employee series from 2018 to 2024, growth rates, industry codes, up to six mapped competitors, technologies, and a linked contacts table with names, titles, and emails.

Search at scale

Five full-text search columns and some thirty purpose-built indexes inside Postgres, so filtering four million companies by city, industry, revenue, and growth returns in interactive time, with no separate search engine to run.

The G Score

A proprietary 0 to 8 growth score computed per company and used as the default ranking everywhere, so the strongest businesses in any market surface first.

Self-serve billing

Stripe subscriptions, a customer portal, a native invoices page with signed share links, and a credit system that meters API usage and tops itself up automatically when a balance runs low.

The API

A credit-metered API at 2 cents per credit: domain in, company and contacts out, including a dedicated endpoint built for Clay.com enrichment workflows.

CRM sync

A two-way HubSpot webhook mapping roughly 110 properties, so the CRM and the database stay in agreement without anyone exporting a spreadsheet.

How we built it.

The product is a Next.js application on a hardened Postgres data layer. The scale problem is solved in the database itself: generated full-text columns and composite indexes tuned to the queries the product actually runs, materialized views for people search, and rate limits where scraping would hurt. Revenue runs without an operator. A subscription checks out through Stripe, an API key carries its own credit balance, every call decrements a ledger, and auto top-off recharges the balance before a customer's workflow ever stops. The commercial machinery is engineered to the same standard as the data asset it sells.

Results.

3,799,927 companies on the record with about 90 columns each; a metered API selling the same data at 2 cents per credit; and the dataset now powers a second business, the 5,234 real-data city pages on this site, where every count you see traces back to this database.

Visit the live site →
  • Ongoing
  • Office: Kailua-Kona, HI
  • Stack: Next.js · Postgres · Stripe · Vercel