Application layer
React with TypeScript on TanStack Start, server-rendered for every public page. Assessment logic runs in typed server functions, not in the browser.
Luxury train operator revenue rises by £45,384 when page load drops from 5s to 1s (modelled estimate). Try the slow website cost calculator
Technology overview · Methodology CV-3.0
We publish how the platform is built, how PageSpeed-style scores are produced, which metrics we report, the constants used to convert data transfer into estimated emissions, and exactly where our data comes from today.
React with TypeScript on TanStack Start, server-rendered for every public page. Assessment logic runs in typed server functions, not in the browser.
Postgres with row-level security on every table. Organisations, websites, assessments, recommendations, evidence and verification records are separated and access-scoped by role.
Google PageSpeed Insights v5 / Lighthouse when configured, otherwise a deterministic, Lighthouse-style model keyed to domain and page path. Both paths produce a performance score, Core Web Vitals-style metrics, and a page-weight breakdown that directly feeds the carbon estimate.
Recharts time series over stored assessment history, so each report is reproducible from the persisted record rather than recalculated on view.
Private object storage with per-organisation folder isolation for reduction evidence submitted during verification review.
| Metric | Unit | Basis |
|---|---|---|
| Performance score | 0–100 | Lighthouse performance score from live PageSpeed Insights, or a deterministic proxy when live scanning is unavailable. |
| Accessibility score | 0–100 | Lighthouse accessibility score from the same live scan. |
| Best practices score | 0–100 | Lighthouse best-practices score from the same live scan. |
| SEO score | 0–100 | Lighthouse SEO score from the same live scan. |
| Core Web Vitals | good / needs improvement / poor | LCP, INP and CLS from the CrUX field data reported by PageSpeed Insights, or estimated from page weight and asset composition. |
| Average page weight | KB transferred | Mean across all pages in the assessment scope. |
| Requests per page | count | First-party and third-party HTTP requests. |
| Asset breakdown | KB by type | Images, JavaScript, CSS, fonts, video and HTML. |
| Third-party weight | KB and requests | Grouped by vendor category. |
| Estimated CO2e per pageview | grams | Data transfer converted through the segment model. |
| Estimated monthly emissions | kg CO2e | Per-page estimate weighted by pageview distribution. |
| Estimated annual emissions | kg CO2e | Monthly estimate extrapolated over twelve months. |
| Hosting energy status | renewable claim | Adjusts the data-centre intensity applied. |
| Sustainability score | 0–100 | Efficiency index used to derive the published grade. |
| Confidence level | low / medium / high | Reflects traffic data quality and scope coverage. |
These figures are modelled estimates and should not be interpreted as direct measurements of electricity use or greenhouse gas emissions.
Estimated emissions per pageview are calculated with CO2.js 0.19.0 from The Green Web Foundation, using the Sustainable Web Design Model v4 with segmented results. The per-kilobyte figures below are read directly from that model and pinned for methodology CV-3.0.
Data centre
0.000033892
g CO2e per KB transferred
Network transmission
0.000036422
g CO2e per KB transferred
End-user device
0.000081443
g CO2e per KB transferred
When The Green Web Foundation's hosting dataset confirms the host runs on verified renewable electricity, the data-centre segment uses the green grid intensity, which brings the whole-page estimate to roughly 0.817 of the grey equivalent. Network and device segments are unchanged, because we do not control the grid mix of the visitor. Electricity conversions use the global average intensity of 472.94 g CO2e per kWh published with CO2.js.
These figures are modelled estimates and should not be interpreted as direct measurements of electricity use or greenhouse gas emissions.
Grade A
score 90+
Highly efficient. Among the leanest websites we assess.
Grade B
score 80+
Efficient. Modest gains still available.
Grade C
score 65+
Average efficiency. Clear reduction opportunities remain.
Grade D
score 50+
Below average. Significant page weight to address.
Grade E
score 35+
Poor efficiency. Heavy pages and slow loads need attention.
Grade F
score 0+
Inefficient. Substantial reduction work required.
The efficiency grade reflects estimated data transfer per pageview against our published scale. It is a measure of website efficiency, not an environmental claim about the organisation.
Emissions are apportioned across data centre, network and device, the same structure used by open website-carbon models. Constants are published below and versioned with the methodology.
Website hosting energy is reported as a purchased-electricity item and visitor device energy as a value-chain item. We report them as estimates, not as an inventory or an assurance opinion.
Verification levels recognise measured reduction against a stored baseline. Offsets, credits and compensation are excluded from every figure and from every level.
Every assessment stores its methodology version, scope, inputs and outputs, so a reviewer can re-derive the published estimate from the record.
When a Google PageSpeed Insights API key is configured, every scan calls the live Lighthouse API for mobile and desktop results, real transferred bytes and Core Web Vitals. If the API is unavailable or unconfigured, the platform falls back to a deterministic model keyed to the domain so reports remain reproducible.
Grams of CO2e per kilobyte are fixed per methodology version and applied identically to every assessment.
A website cannot be assessed under an organisation until an ownership token is confirmed for the domain.
Reduction claims are reviewed against evidence files before any level or badge is issued.
This assessment covers the estimated emissions of website data transfer only. It excludes internal IT, devices, offices, travel, supply chain and any other organisational emissions. It does not include carbon offsets or compensation of any kind, and it is not an assurance opinion under ISAE 3000 or an equivalent standard. Estimates change as page content, traffic and hosting change.