LOADING V2
CO₂ Audit
Measure the CO₂ output of any website.

Challenge

The digital domain affects the planet we live on. Data centres run 24/7, and their networks consume plenty of watts. Loading a webpage on a 3G network can pull up to 5 watts of power per minute, while global data infrastructure consumes over 100 gigawatts. On the web, non-optimized images, and scripts—increase CO₂ impact. There is also the aspect of accessibility; across many parts of Africa, people still rely on 2G and 3G. I built co2audit.app as a challenge to myself; an attempt to gain a better understanding of the relation between the digital domain and CO₂ emissions.

Perspective

Nuxt 4 handles the frontend, layouts, and server logic through the Nitro server on Vercel. The app uses the Puppeteer API to handle configurations for CO2 measurement and emulate a real visitor. To avoid downloading or executing heavy binaries inside Vercel's server-less environment every time the app runs, Puppeteer hooks up to the Browserless API over a WebSocket. This API then acts as a headless (no UI) browser and executes the actions passed to it by the Puppeteer client.

Client

Measure the CO₂ output of any website

End Client

Thomas

Date

May 2026

Duration

3 Weeks

Type

Desktop / Mobile

Scope

Nuxt 4, Supabase, Puppeteer, Vercel

Project image
I wanted the user journey to feel simple and direct. The design is functional and minimalist, with a care for search engine optimization and web accessibility guidelines.
Project image
Project image
Project image
With V2, I hope to introduce framework detection for frameworks and libraries like Nuxt, Next.js, and WordPress. The goal is to provide context relevant suggestions for how to increase optimization. But as of right now, I have to focus on finding a permanent job, so this will be later this year.