RetainScore mark retainscore
Employee retention research, sourced and gated.

Case Study · Design & Development

RetainScore

RetainScore is a live, indexable research site for employee retention. Every finding shows its source. Pages that cannot be grounded do not enter the search corpus.

Site
retainscore.com ↗
Status
Live and indexable
Disciplines
Strategy · Product & brand design · Full-stack development · Research publishing
Stack
Next.js 15 · TypeScript · FastAPI · SQLAlchemy · Postgres · Vercel · Contabo

The problem

Most retention writing on the web is a round number with no method behind it, or a model asked to invent one. An employer trying to learn whether their turnover is high, and why, cannot tell a sourced finding from a slogan. Consultants who want qualified readers have the same problem: traffic that fails a source check is not a lead.

We publish retention research attached to its evidence, and we qualify readers with a diagnostic they can inspect.

What was built

RetainScore is live at retainscore.com. A static Next.js frontend on Vercel reads through a FastAPI service on Contabo. The database is dedicated Postgres. The browser never talks to it. Research pages, benchmark cells, a diagnostic, and gated instruments all go through the same API.

At the September 2026 indexing launch the corpus held 1,983 published pages, 1,941 of them benchmark pages built from Statistics Canada tenure data and US Bureau of Labor Statistics quits and wage data. The sitemap admitted 330 URLs on 6 September 2026 and 475 by 11 September. 1,653 cost-of-turnover cells stay noindex on purpose. They still render.

How it's built

Ungrounded pages do not enter the index.

Indexable is a grounding verdict. The sitemap and the robots tag follow from the database, not from a publish button.

01

The index follows two columns

Database triggers keep an ungrounded page out of the searchable corpus. A separate hold flag covers pages we choose not to rank yet, including the cost-of-turnover cells. The sitemap and the robots tag follow from those two columns. Nothing in the frontend overrides them.

02

Source and boundary stay attached

Each finding names its source and its boundary. Evidence grades are a closed set: strong, mixed, limited, insufficient. A monthly quits rate cannot become an annual turnover claim. Copy has to hold up when a reader opens the citation.

03

The browser never sees the database

The public site is a static Next.js export. FastAPI owns reads, auth, diagnostics, and lead capture. Postgres sits behind the API. A crawler never gets a database connection. A frontend rebuild cannot rewrite the evidence rules.

04

A diagnostic you can inspect

The diagnostic scores eight factors. Weights come from Rubenstein et al. 2018, |rho| times 100. A reader answers the questions, then reads the research behind the signal. Google and email magic-link sign-in are live.

05

The capture path is live. The sales path is not.

Gated instruments, consent records, first-touch attribution, and database-level lead deduplication are in production. Buyer conversations have not started. Admin has an account boundary and no dashboard, analytics, or outreach tools yet.

06

Public sources, on purpose

The corpus is built from cited public material: Statistics Canada, the US Bureau of Labor Statistics, and the research literature behind each evidence grade. A reader can open every source. We do not use private methods from other work.

Claim-level verification · publication gates · static Next.js on Vercel · FastAPI on Contabo · dedicated Postgres · eight-factor diagnostic.

What this shows

The sources stay on the page.

RetainScore runs on a stack we ship for client work. What is live is the corpus, the gates, the diagnostic, and the capture path. Buyer conversations have not started. Admin has an account boundary and no dashboard, analytics, or outreach tools yet.

claim-level provenance publication gates static Next.js FastAPI + Postgres
Ω

Need a site that can show its work?

We design and build research products, evidence gates, and the demand funnel around them from one studio.