guardian/frontend

The Guardian DotCom.

Scala

5,899

64,818 commits

updated Sep 22, 2026

See the code

README

Frontend

The backend of the Guardian website frontend.

For everybody who engages with our journalism, theguardian.com is an industry-best news website that is fast, accessible and easy to use. Unlike other ways of developing products, ours puts the audience first.

Frontend is a set of Play Framework 2 Scala applications. It is built in two parts, using make for the client side asset build and SBT for the Play Framework backend.

Frontend's responsibility is to build JSON to pass to the modern rendering service, Dotcom Rendering.

Core Development Principles (lines in the sand)

These principles apply to all requests on www.theguardian.com and api.nextgen.guardianapps.co.uk (our Ajax URL)

  • Every request can be cached and has an appropriate Cache-Control header set.
  • Each request may only perform one I/O operation on the backend. (you cannot make two calls to the content API or any other 3rd party)
  • The average response time of any endpoint is less than 500ms.
  • Requests that take longer than two seconds will be terminated.

Documentation

All documentation notes and useful items can be found in the docs folder.

New developers

Welcome! How to set up and run frontend.

To get set up, please follow the installation guide.

Fixes for common problems can be found here.

Please read the development tips document to learn about more about development process.

For our deployment process, see how to deploy.

production

Contributors

(top 30 of 207)

sndrs

4,337 commits

janua

3,823 commits

kelvin-chappell

3,408 commits

kaelig

2,823 commits

guardian/frontend

The Guardian DotCom.

Scala

5,899

64,818 commits

updated Sep 22, 2026

See the code

README

Frontend

The backend of the Guardian website frontend.

For everybody who engages with our journalism, theguardian.com is an industry-best news website that is fast, accessible and easy to use. Unlike other ways of developing products, ours puts the audience first.

Frontend is a set of Play Framework 2 Scala applications. It is built in two parts, using make for the client side asset build and SBT for the Play Framework backend.

Frontend's responsibility is to build JSON to pass to the modern rendering service, Dotcom Rendering.

Core Development Principles (lines in the sand)

These principles apply to all requests on www.theguardian.com and api.nextgen.guardianapps.co.uk (our Ajax URL)

  • Every request can be cached and has an appropriate Cache-Control header set.
  • Each request may only perform one I/O operation on the backend. (you cannot make two calls to the content API or any other 3rd party)
  • The average response time of any endpoint is less than 500ms.
  • Requests that take longer than two seconds will be terminated.

Documentation

All documentation notes and useful items can be found in the docs folder.

New developers

Welcome! How to set up and run frontend.

To get set up, please follow the installation guide.

Fixes for common problems can be found here.

Please read the development tips document to learn about more about development process.

For our deployment process, see how to deploy.

production

Contributors

(top 30 of 207)

sndrs

4,337 commits

janua

3,823 commits

kelvin-chappell

3,408 commits

kaelig

2,823 commits

Languages

Scala

46.3%

SCSS

19.3%

HTML

17.4%

JavaScript

13.9%

TypeScript

2.6%