0.100 g
cleaner than an estimated 86.8% of pages on the web
- A+
- A
- B
- C
- D
- E
- F
A+ is 0.04 g or less per view, F is more than 0.359 g CO₂e.
The numbers
- 0.133 g CO₂e
- <0.001 g CO₂e
- verified green
- 216 ms
- n/a
- 15 ms
At 10,000 views a month this page emits about 12.0 kg CO₂e a year, roughly 49 km in an average petrol car. The estimate assumes 75% new and 25% returning visitors, a measured cache reload ratio of 0%, and world-average grid intensity. How we calculate this
What to fix
apply everything → ~0.040 g/visit, rating A
Audit third-party servicessave ~0.048 g/visit (528 kB)High impact · moderate effort
9 third-party domains account for 1.06 MB (96% of the page).
Remove services that no longer earn their place; load the rest on interaction (facades for embeds, delayed consent-gated tags). Each third party is also a privacy and performance dependency.
- platform.twitter.com723 kB
- bear-images.sfo2.cdn.digitaloceanspaces.com158 kB
- pbs.twimg.com135 kB
- platform.x.com28 kB
- cdn.buymeacoffee.com5.3 kB
- cdnjs.buymeacoffee.com3.0 kB
Reduce JavaScript payloadsave ~0.015 g/visit (162 kB)Medium impact · moderate effort
19 scripts total 647 kB on the wire (2.05 MB decoded). Bundles this size usually carry a lot of unused code.
Split bundles per route, tree-shake dependencies, and audit with a bundle analyzer or coverage profile. A 25% cut is a conservative target for bundles this size.
- embed.9449.78398904051446294e3d.js164 kB
- embed.9449.78398904051446294e3d.js164 kB
- embed.9203.1b3edf1dee6d205547e0.js84 kB
- embed.9203.1b3edf1dee6d205547e0.js84 kB
- widgets.js28 kB
Lazy-load below-the-fold mediasave ~0.0072 g/visit (79 kB)Medium impact · quick fix
7 below-the-fold images/iframes (159 kB) download immediately for every visitor.
Add loading="lazy" to below-fold img and iframe elements (and keep it off the LCP image). Browsers then fetch them only when scrolling approaches.
- maja.webp82 kB
- codex-image-1.webp35 kB
- andrew.webp28 kB
- 10pm.webp9.8 kB
- 17pm.webp3.7 kB
Convert and compress imagessave ~0.0055 g/visit (61 kB)Medium impact · quick fix
10 images (135 kB) ship in legacy formats (JPEG/PNG/GIF).
Serve AVIF (or WebP) with responsive srcset sizes, and re-compress oversized files. AVIF typically halves JPEG weight at the same visual quality.
- HFe1a_PWUAACcm357 kB
- HL2MMp9bUAAV3-m36 kB
- HL2MMp9bUAAV3-m24 kB
- HFe1a_PWUAACcm39.3 kB
- XP8gyBaY_bigger.jpg2.6 kB
Serve images at the size they displayMedium impact · quick fix
2 images are encoded at more than twice the pixels the layout shows, even accounting for this viewport's pixel density.
Generate multiple sizes and let the browser pick with srcset/sizes; a 4000px original behind a 400px slot spends bandwidth no screen displays.
- maja.webp82 kB
- andrew.webp28 kB
Upgrade compression beyond gzipsave ~0.011 g/visit (120 kB)Advisory · quick fix
799 kB of text ships gzip-compressed; Brotli or Zstandard would cut roughly another 15-20%, and browsers without them fall back to gzip automatically.
Serve precompressed Brotli for static text assets (highest level, compressed at build time) and enable Brotli or zstd for dynamic responses; keep gzip only as the fallback.
- embed.9449.78398904051446294e3d.js164 kB
- embed.9449.78398904051446294e3d.js164 kB
- widget_iframe.1227a5674072e080ffb1ba14ac0c107…106 kB
- embed.9203.1b3edf1dee6d205547e0.js84 kB
- embed.9203.1b3edf1dee6d205547e0.js84 kB
Stop downloading the same asset twicesave ~0.0028 g/visit (31 kB)Advisory · quick fix
8 assets were fetched more than once in a single page load (306 kB of repeated transfer).
Usually a script injected twice or cache-busting query strings that differ per reference. Load each asset once and let the HTTP cache do its job.
- embed.runtime.3b19346e5d08b0b587c7.js2 downloads · 8.7 kB
- embed.9449.78398904051446294e3d.js2 downloads · 328 kB
- embed.Tweet.70198ef24afe05adbecf.js2 downloads · 27 kB
- embed.749.467388cca0b3fe9c3291.js2 downloads · 14 kB
- embed.ondemand.i18n.en-js.19a28d85d7fc7916b4b…2 downloads · 3.3 kB
Simplify the document structureAdvisory · larger effort
The page renders 1889 DOM elements, above the 1,500 guideline. Large trees cost memory and CPU on every visitor's device.
Flatten wrapper markup, render long lists virtually or paginate, and prefer semantic elements over nested divs.
Where the bytes are
- JavaScript647 kB · 19 req
- Images298 kB · 17 req
- HTML151 kB · 4 req
- Data (XHR)2.9 kB · 2 req
- Data (fetch)1.5 kB · 2 req
Ten heaviest requests
| Resource | Type | Wire size | Cache-Control |
|---|---|---|---|
| platform.twitter.com/embed/embed.9449.78398904051446294e3d.js | script | 164 kB | public, max-age=315360000 |
| platform.twitter.com/embed/embed.9449.78398904051446294e3d.js | script | 164 kB | public, max-age=315360000 |
| platform.twitter.com/widgets/widget_iframe.1227a5674072e080ffb1ba14ac0c1079.html?origin=https%3A%2F%2Fsankalp.bearblog.dev | document | 106 kB | public, max-age=315360000 |
| platform.twitter.com/embed/embed.9203.1b3edf1dee6d205547e0.js | script | 84 kB | public, max-age=315360000 |
| platform.twitter.com/embed/embed.9203.1b3edf1dee6d205547e0.js | script | 84 kB | public, max-age=315360000 |
| bear-images.sfo2.cdn.digitaloceanspaces.com/sankalp/maja.webp | image | 82 kB | max-age=86400 |
| pbs.twimg.com/media/HFe1a_PWUAACcm3?format=png&name=small | image | 57 kB | public, max-age=604800 |
| sankalp.bearblog.dev/autoresearch/ | document | 45 kB | public, s-maxage=43200, max-age=0 |
| pbs.twimg.com/media/HL2MMp9bUAAV3-m?format=png&name=360x360 | image | 36 kB | public, max-age=604800 |
| bear-images.sfo2.cdn.digitaloceanspaces.com/sankalp/codex-image-1.webp | image | 35 kB | max-age=86400 |
Share this report
<a href="https://carbonless.cc/report/sankalp.bearblog.dev/autoresearch"><img src="https://carbonless.cc/api/badge?url=https%3A%2F%2Fsankalp.bearblog.dev%2Fautoresearch" alt="Carbon rating for this page" width="150" height="30" loading="lazy" /></a>The badge is a lightweight SVG (under 1 kB) served with long-lived caching, so a new scan can take up to a day to show through.