https://vibeloft.ai/

Page structure & technical metrics

Words

355

Action candidates

13

Images

51

HTML

11 KB

Copy

Title chars
30
Meta chars
71
H1
1
H2
0

Action

Primary

立即登机

Forms
0
On-site links
28
Off-site links
1

Security & metadata

HTTPS
yes
HSTS
no
CSP
no
nosniff
yes
viewport
yes
Icon
yes
JSON-LD
yes
Analytics
no

Page

Vite / React / shadcn/ui / Tailwind

Scripts
3 ext / 2 inline
Alt
1 missing
Lang
zh-CN
Third-party hosts
1

Lighthouse

Simulated mobile · Performance

30 / 100

2026-09-05 · Lab data, not field data.

View details

Simulated mobile · Lab data, not field data
2026-09-05T05:12:12.514Z · Lighthouse 13.4.1

Performance30/ 100
Accessibility98/ 100
Best practices100/ 100
SEO100/ 100
LCP · Largest content7,795 ms
CLS · Layout shift0.036
TBT · Blocking time3,468 ms
FCP · First content4,085 ms
SI · Speed index9,682 ms

Results vary by server, network and environment, independently of taste/conversion scores. Diagnostics retain Lighthouse wording.

Minimize main-thread work

15.2 s

Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. Learn how to minimize main-thread work

Elements & resources
{
  "type": "table",
  "items": [
    {
      "group": "other",
      "duration": 9451.815999999855,
      "groupLabel": "Other"
    },
    {
      "group": "scriptEvaluation",
      "duration": 4053.1319999999705,
      "groupLabel": "Script Evaluation"
    },
    {
      "group": "paintCompositeRender",
      "duration": 966.8159999999947,
      "groupLabel": "Rendering"
    },
    {
      "group": "styleLayout",
      "duration": 618.5919999999998,
      "groupLabel": "Style & Layout"
    },
    {
      "group": "garbageCollection",
      "duration": 54.94000000000006,
      "groupLabel": "Garbage Collection"
    },
    {
      "group": "scriptParseCompile",
      "duration": 34.684,
      "groupLabel": "Script Parsing & Compilation"
    },
    {
      "group": "parseHTML",
      "duration": 17.28,
      "groupLabel": "Parse HTML & CSS"
    }
  ],
  "headings": [
    {
      "key": "groupLabel",
      "label": "Category",
      "valueType": "text"
    },
    {
      "key": "duration",
      "label": "Time Spent",
      "valueType": "ms",
      "granularity": 1
    }
  ],
  "sortedBy": [
    "duration"
  ]
}

Reduce JavaScript execution time

4.1 s

Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. Learn how to reduce Javascript execution time.

Elements & resources
{
  "type": "table",
  "items": [
    {
      "url": "https://vibeloft.ai/assets/framework-3ba8e7674550-BhChsaXu.js",
      "total": 4768.995999999985,
      "scripting": 1888.5599999999872,
      "scriptParseCompile": 1.416
    },
    {
      "url": "https://vibeloft.ai/",
      "total": 4096.1079999999965,
      "scripting": 6.184,
      "scriptParseCompile": 4.064
    },
    {
      "url": "https://vibeloft.ai/assets/index-3ba8e7674550-CHLeDTt7.js",
      "total": 2949.2039999999997,
      "scripting": 1411.976,
      "scriptParseCompile": 1.392
    },
    {
      "url": "Unattributable",
      "total": 2375.063999999976,
      "scripting": 28.223999999999982,
      "scriptParseCompile": 0
    },
    {
      "url": "https://vibeloft.ai/telemetry/v1.js",
      "total": 592.0919999999991,
      "scripting": 554.5479999999992,
      "scriptParseCompile": 20.608
    },
    {
      "url": "https://vibeloft.ai/assets/ui-vendor-3ba8e7674550-srQXSxSX.js",
      "total": 234.93200000000002,
      "scripting": 87.74799999999999,
      "scriptParseCompile": 1.816
    },
    {
      "url": "https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495",
      "total": 92.85999999999994,
      "scripting": 68.88799999999996,
      "scriptParseCompile": 0.156
    }
  ],
  "summary": {
    "wastedMs": 4075.5799999999863
  },
  "headings": [
    {
      "key": "url",
      "label": "URL",
      "valueType": "url"
    },
    {
      "key": "total",
      "label": "Total CPU Time",
      "valueType": "ms",
      "granularity": 1
    },
    {
      "key": "scripting",
      "label": "Script Evaluation",
      "valueType": "ms",
      "granularity": 1
    },
    {
      "key": "scriptParseCompile",
      "label": "Script Parse",
      "valueType": "ms",
      "granularity": 1
    }
  ],
  "sortedBy": [
    "total"
  ]
}

Image elements do not have explicit `width` and `height`

Set an explicit width and height on image elements to reduce layout shifts and improve CLS. Learn how to set image dimensions

Elements & resources
{
  "type": "table",
  "items": [
    {
      "url": "https://r2.vibeloft.ai/vibeloft-web-assets/brand/wordmark-color-08abfc4fdfe782e3.svg",
      "node": {
        "lhId": "1-31-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,0,HEADER,1,A,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"VibeLoft\" class=\"h-auto w-[104px] dark:hidden\" src=\"https://r2.vibeloft.ai/vibeloft-web-assets/brand/wordmark-color-08abfc4fdf…\">",
        "selector": "div.relative > header.fixed > a.absolute > img.h-auto",
        "nodeLabel": "VibeLoft",
        "boundingRect": {
          "top": 12,
          "left": 154,
          "right": 258,
          "width": 104,
          "bottom": 39,
          "height": 26
        }
      }
    }
  ],
  "headings": [
    {
      "key": "node",
      "label": "",
      "valueType": "node"
    },
    {
      "key": "url",
      "label": "URL",
      "valueType": "url"
    }
  ]
}

Document does not have a main landmark.

One main landmark helps screen reader users navigate a web page. Learn more about landmarks.

Elements & resources
{
  "type": "table",
  "items": [
    {
      "node": {
        "lhId": "1-0-HTML",
        "path": "2,HTML",
        "type": "node",
        "snippet": "<html lang=\"zh-CN\">",
        "selector": "html",
        "nodeLabel": "html",
        "explanation": "Fix all of the following:\n  Document does not have a main landmark",
        "boundingRect": {
          "top": 0,
          "left": 0,
          "right": 412,
          "width": 412,
          "bottom": 823,
          "height": 823
        }
      }
    }
  ],
  "headings": [
    {
      "key": "node",
      "label": "Failing Elements",
      "valueType": "node",
      "subItemsHeading": {
        "key": "relatedNode",
        "valueType": "node"
      }
    }
  ],
  "debugData": {
    "tags": [
      "cat.semantics",
      "best-practice"
    ],
    "type": "debugdata",
    "impact": "moderate"
  }
}

Avoid enormous network payloads

Total size was 30,527 KiB

Large network payloads cost users real money and are highly correlated with long load times. Learn how to reduce payload sizes.

Elements & resources
{
  "type": "table",
  "items": [
    {
      "url": "https://r2.vibeloft.ai/avatars/29d4d888-33c7-4444-8ddb-ae06e1d6ec42/2026/07/f01951bc-3bbb-4bcc-ba3c-1e7156a190c8.png",
      "totalBytes": 3442673
    },
    {
      "url": "https://r2.vibeloft.ai/products/5565094a-1651-471a-b659-e9a89167473a/logo/2026/07/7660f1b9-e27e-4c4d-9a16-2e1b8b0e97f0.png",
      "totalBytes": 2889103
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/0745c16e-ffc7-4fad-855e-0e9f3b6be9b1/2026/07/eafd39b8-dfa2-4cd0-b80d-55ba14d61e94.png",
      "totalBytes": 2817160
    },
    {
      "url": "https://r2.vibeloft.ai/products/5545c3bf-9a40-466f-8cab-8b6c245d438a/logo/2026/07/8c887c62-487d-46bb-a6b6-ce7637099478.png",
      "totalBytes": 2139197
    },
    {
      "url": "https://r2.vibeloft.ai/products/29d4d888-33c7-4444-8ddb-ae06e1d6ec42/logo/2026/07/28267d37-bbe6-4409-b47d-20c83eb95020.png",
      "totalBytes": 1866740
    },
    {
      "url": "https://r2.vibeloft.ai/products/0745c16e-ffc7-4fad-855e-0e9f3b6be9b1/logo/2026/07/3eed86fd-7ab1-40e6-aa1d-17a2753a2080.png",
      "totalBytes": 1685131
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/e81d3388-6a0f-4ef0-a43c-4da2c3103ec6/2026/07/64bece48-d558-4e33-8b49-0ae0be61c963.png",
      "totalBytes": 1651057
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/7ad794a0-4f96-4a64-9408-01d90591face/2026/07/2b34c2f1-4b77-4df1-a16c-05136cc987a1.png",
      "totalBytes": 1569694
    },
    {
      "url": "https://r2.vibeloft.ai/products/6f7bf9bc-d226-465a-9419-f2a70a5483c6/logo/2026/07/4dc11a0a-6abd-49d9-8d91-86c391d121e2.png",
      "totalBytes": 1555805
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/9a8bea08-d198-4517-abaa-b061f395bb08/2026/07/01380ff4-ed2e-4ecc-85b5-8fa0c075a117.png",
      "totalBytes": 1472571
    }
  ],
  "headings": [
    {
      "key": "url",
      "label": "URL",
      "valueType": "url"
    },
    {
      "key": "totalBytes",
      "label": "Transfer Size",
      "valueType": "bytes"
    }
  ],
  "sortedBy": [
    "totalBytes"
  ]
}

Reduce unused JavaScript

Est savings of 144 KiB

Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. Learn how to reduce unused JavaScript.

Elements & resources
{
  "type": "opportunity",
  "items": [
    {
      "url": "https://vibeloft.ai/assets/ui-vendor-3ba8e7674550-srQXSxSX.js",
      "totalBytes": 88463,
      "wastedBytes": 53589,
      "wastedPercent": 60.57708191846699
    },
    {
      "url": "https://vibeloft.ai/assets/supabase-3ba8e7674550-BFkXh6Qs.js",
      "totalBytes": 52731,
      "wastedBytes": 44213,
      "wastedPercent": 83.84545597043638
    },
    {
      "url": "https://vibeloft.ai/assets/framework-3ba8e7674550-BhChsaXu.js",
      "totalBytes": 73006,
      "wastedBytes": 26799,
      "wastedPercent": 36.70866625691457
    },
    {
      "url": "https://vibeloft.ai/assets/index-3ba8e7674550-CHLeDTt7.js",
      "totalBytes": 53590,
      "wastedBytes": 23024,
      "wastedPercent": 42.963430225681634
    }
  ],
  "headings": [
    {
      "key": "url",
      "label": "URL",
      "valueType": "url",
      "subItemsHeading": {
        "key": "source",
        "valueType": "code"
      }
    },
    {
      "key": "totalBytes",
      "label": "Transfer Size",
      "valueType": "bytes",
      "subItemsHeading": {
        "key": "sourceBytes"
      }
    },
    {
      "key": "wastedBytes",
      "label": "Est Savings",
      "valueType": "bytes",
      "subItemsHeading": {
        "key": "sourceWastedBytes"
      }
    }
  ],
  "sortedBy": [
    "wastedBytes"
  ],
  "debugData": {
    "type": "debugdata",
    "metricSavings": {
      "FCP": 750,
      "LCP": 900
    }
  },
  "overallSavingsMs": 900,
  "overallSavingsBytes": 147625
}

Use efficient cache lifetimes

Est savings of 20,421 KiB

A long cache lifetime can speed up repeat visits to your page. Learn more about caching.

Elements & resources
{
  "type": "table",
  "items": [
    {
      "url": "https://r2.vibeloft.ai/avatars/29d4d888-33c7-4444-8ddb-ae06e1d6ec42/2026/07/f01951bc-3bbb-4bcc-ba3c-1e7156a190c8.png",
      "totalBytes": 3442673,
      "wastedBytes": 2341017.6399999997,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/5565094a-1651-471a-b659-e9a89167473a/logo/2026/07/7660f1b9-e27e-4c4d-9a16-2e1b8b0e97f0.png",
      "totalBytes": 2889103,
      "wastedBytes": 1964590.0399999998,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/0745c16e-ffc7-4fad-855e-0e9f3b6be9b1/2026/07/eafd39b8-dfa2-4cd0-b80d-55ba14d61e94.png",
      "totalBytes": 2817160,
      "wastedBytes": 1915668.7999999998,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/5545c3bf-9a40-466f-8cab-8b6c245d438a/logo/2026/07/8c887c62-487d-46bb-a6b6-ce7637099478.png",
      "totalBytes": 2139197,
      "wastedBytes": 1454653.96,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/29d4d888-33c7-4444-8ddb-ae06e1d6ec42/logo/2026/07/28267d37-bbe6-4409-b47d-20c83eb95020.png",
      "totalBytes": 1866740,
      "wastedBytes": 1269383.2,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/0745c16e-ffc7-4fad-855e-0e9f3b6be9b1/logo/2026/07/3eed86fd-7ab1-40e6-aa1d-17a2753a2080.png",
      "totalBytes": 1685131,
      "wastedBytes": 1145889.0799999998,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/e81d3388-6a0f-4ef0-a43c-4da2c3103ec6/2026/07/64bece48-d558-4e33-8b49-0ae0be61c963.png",
      "totalBytes": 1651057,
      "wastedBytes": 1122718.76,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/7ad794a0-4f96-4a64-9408-01d90591face/2026/07/2b34c2f1-4b77-4df1-a16c-05136cc987a1.png",
      "totalBytes": 1569694,
      "wastedBytes": 1067391.92,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/6f7bf9bc-d226-465a-9419-f2a70a5483c6/logo/2026/07/4dc11a0a-6abd-49d9-8d91-86c391d121e2.png",
      "totalBytes": 1555805,
      "wastedBytes": 1057947.4,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/9a8bea08-d198-4517-abaa-b061f395bb08/2026/07/01380ff4-ed2e-4ecc-85b5-8fa0c075a117.png",
      "totalBytes": 1472571,
      "wastedBytes": 1001348.2799999999,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/9a8bea08-d198-4517-abaa-b061f395bb08/logo/2026/07/224ca10b-e1ed-4669-b4a7-1f74929c41ba.png",
      "totalBytes": 1237974,
      "wastedBytes": 841822.32,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/7ad794a0-4f96-4a64-9408-01d90591face/logo/2026/07/f13f0394-45e6-45f4-aed0-d2c61da0b89e.png",
      "totalBytes": 1219642,
      "wastedBytes": 829356.5599999999,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/6e49dbc8-86af-4f76-8814-dd88779e2bbc/logo/2026/07/3b93475c-b6b6-4517-bbea-9aac8e1bc3c6.png",
      "totalBytes": 1212166,
      "wastedBytes": 824272.8799999999,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/20ccb4b6-b0c4-45cb-93b6-1388e0e78965/2026/07/ad21c770-fd2a-4f6a-8672-9e9ebda80e6e.png",
      "totalBytes": 971763,
      "wastedBytes": 660798.84,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/tool-logos/codex.png",
      "totalBytes": 631147,
      "wastedBytes": 429179.95999999996,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/3be71081-b00c-408a-a511-a5e6199553ef/2026/07/eabb5358-fd90-401c-a335-f10c4b611960.png",
      "totalBytes": 559284,
      "wastedBytes": 380313.11999999994,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/1a0120c9-7e5b-4cf0-ade7-f72eb879fbc9/logo/2026/07/7d1d6277-b314-4b2f-9907-09d9e3270edb.png",
      "totalBytes": 441279,
      "wastedBytes": 300069.72,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/e81d3388-6a0f-4ef0-a43c-4da2c3103ec6/logo/2026/07/2c4a002a-c13f-4cb9-af26-548b65819a21.png",
      "totalBytes": 436988,
      "wastedBytes": 297151.83999999997,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/c8181b65-35a2-4486-991a-287a2e525120/2026/07/e039bc82-b5b3-4d98-8426-4f06c8052c5e.jpg",
      "totalBytes": 317168,
      "wastedBytes": 215674.24,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/6d1604e7-14a8-4591-a7ef-e7fe80308456/2026/07/e78809b4-992a-4ce2-9755-6aea61538c6f.png",
      "totalBytes": 285116,
      "wastedBytes": 193878.87999999998,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/c8181b65-35a2-4486-991a-287a2e525120/logo/2026/07/4c52e47d-753e-4712-aaa5-432c5a62e2e2.png",
      "totalBytes": 258888,
      "wastedBytes": 176043.84,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/tool-logos/lody.png",
      "totalBytes": 251630,
      "wastedBytes": 171108.4,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/344c5096-d548-4863-8e7a-280fd8489738/logo/2026/07/bf8804b9-7b4c-4471-b5be-00c2416828f7.png",
      "totalBytes": 233123,
      "wastedBytes": 158523.63999999998,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/3751bccc-1fc3-46ee-b593-9714d2f84d15/logo/2026/07/385460ab-7584-4a2b-adc0-9324f2b6c8dc.png",
      "totalBytes": 187553,
      "wastedBytes": 127536.04,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/6f7bf9bc-d226-465a-9419-f2a70a5483c6/2026/07/28fd4621-0010-4b77-ab31-0f608a1e84d2.jpg",
      "totalBytes": 132019,
      "wastedBytes": 89772.92,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/tool-logos/kimicode.png",
      "totalBytes": 114834,
      "wastedBytes": 78087.12,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/bb4cc8af-25dc-42ed-8ffc-0f28c355beb1/logo/2026/07/9bb6664e-c819-482d-b5b3-0c13aa796ec5.png",
      "totalBytes": 99804,
      "wastedBytes": 67866.71999999999,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/e2dc615f-c8ef-45ed-853d-9f47e7629653/2026/07/0af5b027-5294-4909-9d05-5faf926f8fa1.jpg",
      "totalBytes": 95241,
      "wastedBytes": 64763.88,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/97e8563d-b4ec-4339-a0fa-ebfaf46b29f9/logo/2026/07/d0a31f75-7810-4e66-986f-f8ffa996dcff.png",
      "totalBytes": 73050,
      "wastedBytes": 49673.99999999999,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/7f850120-0f47-44e7-9ff2-ff2703d80739/logo/2026/07/950eed65-7c28-4370-bc16-af0e982f40ec.png",
      "totalBytes": 62920,
      "wastedBytes": 42785.6,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/5545c3bf-9a40-466f-8cab-8b6c245d438a/2026/07/f822c1ce-8f89-4fa1-925e-1e79168ae356.jpg",
      "totalBytes": 61870,
      "wastedBytes": 42071.6,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://vibeloft.ai/telemetry/v1.js",
      "totalBytes": 54501,
      "wastedBytes": 37060.67999999999,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/35fd83af-a8ef-4948-bf26-b4733beb60a4/logo/2026/07/e0cdb631-7a2b-405b-8cbd-d255b0963755.png",
      "totalBytes": 52860,
      "wastedBytes": 35944.799999999996,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/aa219334-c646-48b6-86ea-16ababb875a4/logo/2026/07/b88546ed-46e9-4533-a334-0662071dcb56.png",
      "totalBytes": 49090,
      "wastedBytes": 33381.2,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/67b4d9f1-4728-4700-a442-fe9ed804c22b/logo/2026/07/320945f0-c380-4574-aa40-1a9ccce95b59.png",
      "totalBytes": 46516,
      "wastedBytes": 31630.879999999997,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/4c3ce77f-611d-44d4-baa3-1746fa439479/logo/2026/07/122b561a-980c-4bff-a749-3b38892c8935.png",
      "totalBytes": 39639,
      "wastedBytes": 26954.519999999997,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/52df8074-8c06-4e8f-84fb-c1d67e5813af/logo/2026/07/da2e68f4-24ac-4211-bf14-c2df427a7716.png",
      "totalBytes": 38093,
      "wastedBytes": 25903.239999999998,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/67b4d9f1-4728-4700-a442-fe9ed804c22b/2026/07/ff868f46-5edc-4e18-8a61-cd75fd2b26e0.png",
      "totalBytes": 37400,
      "wastedBytes": 25431.999999999996,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/bc9896d2-c8b9-4916-8461-271ba7f3b7e2/2026/07/ed347c66-ac6f-463b-8f9e-f42f68f06324.jpg",
      "totalBytes": 35043,
      "wastedBytes": 23829.239999999998,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/6e49dbc8-86af-4f76-8814-dd88779e2bbc/2026/07/e761a15a-36db-4778-9592-d4c250c7aec1.jpg",
      "totalBytes": 33784,
      "wastedBytes": 22973.12,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/5565094a-1651-471a-b659-e9a89167473a/2026/07/af984857-bbaa-412f-aaba-6ca2a11af230.jpg",
      "totalBytes": 31405,
      "wastedBytes": 21355.399999999998,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/tool-logos/cursor.png",
      "totalBytes": 31216,
      "wastedBytes": 21226.879999999997,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/tool-logos/craftagents.png",
      "totalBytes": 29063,
      "wastedBytes": 19762.839999999997,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/aa219334-c646-48b6-86ea-16ababb875a4/2026/07/838d305b-097c-4b56-94a5-1512df82cac4.png",
      "totalBytes": 28799,
      "wastedBytes": 19583.32,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/52df8074-8c06-4e8f-84fb-c1d67e5813af/2026/07/e3b0a511-06ff-48d5-8d44-e22418cca2e5.jpg",
      "totalBytes": 27424,
      "wastedBytes": 18648.32,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/1fbbf34e-1b9f-4bd0-aa82-a29e5f8b2f8d/logo/2026/07/8d81f61e-996c-45b1-899a-5d01abb2ac13.png",
      "totalBytes": 24210,
      "wastedBytes": 16462.8,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/e9c306f5-74fb-4550-8941-14992e46ee34/logo/2026/07/91c6538c-175b-49d2-b3e0-8579fcc60301.webp",
      "totalBytes": 23130,
      "wastedBytes": 15728.399999999998,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/e092fdb6-fad1-4963-9c61-32ca9e9e3c27/logo/2026/07/26a4a300-cdf5-4431-b352-935c7e996492.jpg",
      "totalBytes": 21696,
      "wastedBytes": 14753.279999999999,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/e2dc615f-c8ef-45ed-853d-9f47e7629653/logo/2026/07/81d22a28-c4d0-4f59-a698-91b0c710bfb3.png",
      "totalBytes": 20986,
      "wastedBytes": 14270.48,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/tool-logos/antigravity.png",
      "totalBytes": 19648,
      "wastedBytes": 13360.64,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/ec72fc10-329e-4517-af7c-b5f0ec168e63/logo/2026/07/74c84226-7ad5-44df-b318-be047a94732f.png",
      "totalBytes": 15459,
      "wastedBytes": 10512.119999999999,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/e092fdb6-fad1-4963-9c61-32ca9e9e3c27/2026/07/8d02c113-fa4c-4145-adc3-e9b69c0483c9.png",
      "totalBytes": 13810,
      "wastedBytes": 9390.8,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/4b3c0e3b-a8ff-4560-8a13-899b2b1b7026/logo/2026/08/ab226073-c495-422c-9ca9-1870390e7923.png",
      "totalBytes": 13478,
      "wastedBytes": 9165.039999999999,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/3be71081-b00c-408a-a511-a5e6199553ef/logo/2026/07/c6e2029a-6802-4d15-af83-09a1b0e44be3.png",
      "totalBytes": 9312,
      "wastedBytes": 6332.16,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/20ccb4b6-b0c4-45cb-93b6-1388e0e78965/logo/2026/07/43a9dfbf-1dfc-45b2-9630-321eb05122ba.png",
      "totalBytes": 7619,
      "wastedBytes": 5180.919999999999,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/7b8bf63a-b6ce-44e8-bb7b-d280e8d65fbd/logo/2026/07/2e9e2e97-7799-4c07-9235-add1f322aef5.png",
      "totalBytes": 7424,
      "wastedBytes": 5048.32,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/1fbbf34e-1b9f-4bd0-aa82-a29e5f8b2f8d/2026/07/9cc30d4b-7173-4743-a488-07c212a166a2.jpg",
      "totalBytes": 7322,
      "wastedBytes": 4978.959999999999,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495",
      "totalBytes": 10338,
      "wastedBytes": 4135.2,
      "cacheLifetimeMs": 86400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/1a0120c9-7e5b-4cf0-ade7-f72eb879fbc9/2026/07/085bce6d-cf97-4781-9c51-538ff03f05b4.jpg",
      "totalBytes": 5743,
      "wastedBytes": 3905.24,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/6d1604e7-14a8-4591-a7ef-e7fe80308456/logo/2026/07/f4907a12-8250-4dec-87a9-0198f8a48c9d.png",
      "totalBytes": 5588,
      "wastedBytes": 3799.8399999999997,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/344c5096-d548-4863-8e7a-280fd8489738/2026/07/05a1d6dc-ffd9-485b-9be8-3b752a5e92a1.jpg",
      "totalBytes": 4969,
      "wastedBytes": 3378.9199999999996,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/7f850120-0f47-44e7-9ff2-ff2703d80739/2026/08/3c59ec65-bbe6-4bdc-9cfb-adb4d9b02219.jpg",
      "totalBytes": 4732,
      "wastedBytes": 3217.7599999999998,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/7b8bf63a-b6ce-44e8-bb7b-d280e8d65fbd/2026/07/02444cbb-d29f-4b1f-aa57-713cf3059f7d.jpg",
      "totalBytes": 4427,
      "wastedBytes": 3010.3599999999997,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/products/bc9896d2-c8b9-4916-8461-271ba7f3b7e2/logo/2026/07/71de62ba-f6e4-437a-be6d-92d208eb5a28.png",
      "totalBytes": 4000,
      "wastedBytes": 2719.9999999999995,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/e9c306f5-74fb-4550-8941-14992e46ee34/2026/07/88fbb546-a733-4cf1-97a0-b29737cbcbc7.jpg",
      "totalBytes": 3702,
      "wastedBytes": 2517.3599999999997,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/35fd83af-a8ef-4948-bf26-b4733beb60a4/2026/07/3aacd747-a493-4342-aa87-cfc4c43ef862.png",
      "totalBytes": 2831,
      "wastedBytes": 1925.08,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/4c3ce77f-611d-44d4-baa3-1746fa439479/2026/07/f7361965-4100-4400-85c8-ca834e50ebbc.jpg",
      "totalBytes": 2688,
      "wastedBytes": 1827.84,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/bb4cc8af-25dc-42ed-8ffc-0f28c355beb1/2026/07/91f32e62-9e11-48d6-9b9c-5f551bb78545.jpg",
      "totalBytes": 2653,
      "wastedBytes": 1804.0399999999997,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/4b3c0e3b-a8ff-4560-8a13-899b2b1b7026/2026/07/a6301b4f-97c6-4093-81be-57ac96ea1ef4.jpg",
      "totalBytes": 2577,
      "wastedBytes": 1752.36,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/97e8563d-b4ec-4339-a0fa-ebfaf46b29f9/2026/07/af17fe13-d3c5-4f5f-a85d-cb1730531743.jpg",
      "totalBytes": 2288,
      "wastedBytes": 1555.84,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/3751bccc-1fc3-46ee-b593-9714d2f84d15/2026/07/14074192-93ed-40a1-a8d2-3eaf346eec1e.jpg",
      "totalBytes": 2282,
      "wastedBytes": 1551.7599999999998,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/tool-logos/claudecode.svg",
      "totalBytes": 1637,
      "wastedBytes": 1113.1599999999999,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/ec72fc10-329e-4517-af7c-b5f0ec168e63/2026/07/810263bd-ac18-4596-bc53-b7c0baa32a6e.jpg",
      "totalBytes": 1582,
      "wastedBytes": 1075.76,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/tool-logos/bundled/cloudflare.svg",
      "totalBytes": 1091,
      "wastedBytes": 741.8799999999999,
      "cacheLifetimeMs": 14400000
    },
    {
      "url": "https://r2.vibeloft.ai/tool-logos/bundled/vercel.svg",
      "totalBytes": 652,
      "wastedBytes": 443.35999999999996,
      "cacheLifetimeMs": 14400000
    }
  ],
  "headings": [
    {
      "key": "url",
      "label": "Request",
      "valueType": "url"
    },
    {
      "key": "cacheLifetimeMs",
      "label": "Cache TTL",
      "valueType": "ms",
      "displayUnit": "duration"
    },
    {
      "key": "totalBytes",
      "label": "Transfer Size",
      "valueType": "bytes",
      "displayUnit": "kb",
      "granularity": 1
    }
  ],
  "sortedBy": [
    "wastedBytes"
  ],
  "debugData": {
    "type": "debugdata",
    "wastedBytes": 20910707.319999997
  },
  "skipSumming": [
    "cacheLifetimeMs"
  ]
}

Improve image delivery

Est savings of 13,243 KiB

Reducing the download time of images can improve the perceived load time of the page and LCP. Learn more about optimizing image size

Elements & resources
{
  "type": "table",
  "items": [
    {
      "url": "https://r2.vibeloft.ai/avatars/29d4d888-33c7-4444-8ddb-ae06e1d6ec42/2026/07/f01951bc-3bbb-4bcc-ba3c-1e7156a190c8.png",
      "node": {
        "lhId": "page-11-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,2,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"Kira\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/29d4d888-33c7-4444-8ddb-ae06e1d6ec42/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "Kira",
        "boundingRect": {
          "top": 320,
          "left": 236,
          "right": 276,
          "width": 40,
          "bottom": 370,
          "height": 50
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size.",
            "wastedBytes": 3247598
          },
          {
            "reason": "This image file is larger than it needs to be (954x1200) for its displayed dimensions (78x78). Use responsive images to reduce the image download size.",
            "wastedBytes": 3420091
          }
        ]
      },
      "totalBytes": 3438367,
      "wastedBytes": 3437353
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/0745c16e-ffc7-4fad-855e-0e9f3b6be9b1/2026/07/eafd39b8-dfa2-4cd0-b80d-55ba14d61e94.png",
      "node": {
        "lhId": "page-12-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,14,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"Vivi Zhou\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/0745c16e-ffc7-4fad-855e-0e9f3b6be9b1/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "Vivi Zhou",
        "boundingRect": {
          "top": 582,
          "left": 56,
          "right": 84,
          "width": 28,
          "bottom": 618,
          "height": 36
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size.",
            "wastedBytes": 2625068
          },
          {
            "reason": "This image file is larger than it needs to be (943x1200) for its displayed dimensions (56x56). Use responsive images to reduce the image download size.",
            "wastedBytes": 2805840
          }
        ]
      },
      "totalBytes": 2813639,
      "wastedBytes": 2813116
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/e81d3388-6a0f-4ef0-a43c-4da2c3103ec6/2026/07/64bece48-d558-4e33-8b49-0ae0be61c963.png",
      "node": {
        "lhId": "page-13-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,21,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"非机\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/e81d3388-6a0f-4ef0-a43c-4da2c3103ec6/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "非机",
        "boundingRect": {
          "top": 658,
          "left": 107,
          "right": 135,
          "width": 28,
          "bottom": 694,
          "height": 36
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size.",
            "wastedBytes": 1460317
          },
          {
            "reason": "This image file is larger than it needs to be (943x1200) for its displayed dimensions (56x56). Use responsive images to reduce the image download size.",
            "wastedBytes": 1644318
          }
        ]
      },
      "totalBytes": 1648888,
      "wastedBytes": 1648365
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/7ad794a0-4f96-4a64-9408-01d90591face/2026/07/2b34c2f1-4b77-4df1-a16c-05136cc987a1.png",
      "node": {
        "lhId": "page-14-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,28,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"二薄\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/7ad794a0-4f96-4a64-9408-01d90591face/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "二薄",
        "boundingRect": {
          "top": 734,
          "left": 158,
          "right": 187,
          "width": 28,
          "bottom": 770,
          "height": 36
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size.",
            "wastedBytes": 1379038
          },
          {
            "reason": "This image file is larger than it needs to be (943x1200) for its displayed dimensions (56x56). Use responsive images to reduce the image download size.",
            "wastedBytes": 1563264
          }
        ]
      },
      "totalBytes": 1567609,
      "wastedBytes": 1567086
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/9a8bea08-d198-4517-abaa-b061f395bb08/2026/07/01380ff4-ed2e-4ecc-85b5-8fa0c075a117.png",
      "node": {
        "lhId": "page-15-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,9,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"哈里里\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/9a8bea08-d198-4517-abaa-b061f395bb08/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "哈里里",
        "boundingRect": {
          "top": 505,
          "left": 107,
          "right": 135,
          "width": 28,
          "bottom": 541,
          "height": 36
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size.",
            "wastedBytes": 1352663
          },
          {
            "reason": "This image file is larger than it needs to be (746x949) for its displayed dimensions (56x56). Use responsive images to reduce the image download size.",
            "wastedBytes": 1464082
          }
        ]
      },
      "totalBytes": 1470599,
      "wastedBytes": 1470076
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/20ccb4b6-b0c4-45cb-93b6-1388e0e78965/2026/07/ad21c770-fd2a-4f6a-8672-9e9ebda80e6e.png",
      "node": {
        "lhId": "page-16-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,17,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"孙悟元\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/20ccb4b6-b0c4-45cb-93b6-1388e0e78965/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "孙悟元",
        "boundingRect": {
          "top": 582,
          "left": 225,
          "right": 254,
          "width": 28,
          "bottom": 618,
          "height": 36
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size.",
            "wastedBytes": 781777
          },
          {
            "reason": "This image file is larger than it needs to be (943x1200) for its displayed dimensions (56x56). Use responsive images to reduce the image download size.",
            "wastedBytes": 967658
          }
        ]
      },
      "totalBytes": 970348,
      "wastedBytes": 969825
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/3be71081-b00c-408a-a511-a5e6199553ef/2026/07/eabb5358-fd90-401c-a335-f10c4b611960.png",
      "node": {
        "lhId": "page-17-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,3,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"大帅\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/3be71081-b00c-408a-a511-a5e6199553ef/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "大帅",
        "boundingRect": {
          "top": 320,
          "left": 311,
          "right": 351,
          "width": 40,
          "bottom": 370,
          "height": 50
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size.",
            "wastedBytes": 461942
          },
          {
            "reason": "This image file is larger than it needs to be (678x853) for its displayed dimensions (78x78). Use responsive images to reduce the image download size.",
            "wastedBytes": 552462
          }
        ]
      },
      "totalBytes": 558335,
      "wastedBytes": 557321
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/c8181b65-35a2-4486-991a-287a2e525120/2026/07/e039bc82-b5b3-4d98-8426-4f06c8052c5e.jpg",
      "node": {
        "lhId": "page-18-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,30,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"韩世禹\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/c8181b65-35a2-4486-991a-287a2e525120/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "韩世禹",
        "boundingRect": {
          "top": 734,
          "left": 276,
          "right": 305,
          "width": 28,
          "bottom": 770,
          "height": 36
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size.",
            "wastedBytes": 127942
          },
          {
            "reason": "This image file is larger than it needs to be (943x1200) for its displayed dimensions (56x56). Use responsive images to reduce the image download size.",
            "wastedBytes": 315636
          }
        ]
      },
      "totalBytes": 316513,
      "wastedBytes": 315990
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/6d1604e7-14a8-4591-a7ef-e7fe80308456/2026/07/e78809b4-992a-4ce2-9755-6aea61538c6f.png",
      "node": {
        "lhId": "page-19-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,7,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"戴兜\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/6d1604e7-14a8-4591-a7ef-e7fe80308456/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "戴兜",
        "boundingRect": {
          "top": 413,
          "left": 311,
          "right": 351,
          "width": 40,
          "bottom": 463,
          "height": 50
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size.",
            "wastedBytes": 199590
          },
          {
            "reason": "This image file is larger than it needs to be (636x800) for its displayed dimensions (78x78). Use responsive images to reduce the image download size.",
            "wastedBytes": 280975
          }
        ]
      },
      "totalBytes": 284376,
      "wastedBytes": 283362
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/6f7bf9bc-d226-465a-9419-f2a70a5483c6/2026/07/28fd4621-0010-4b77-ab31-0f608a1e84d2.jpg",
      "node": {
        "lhId": "page-20-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,15,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"Vivi Xiao\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/6f7bf9bc-d226-465a-9419-f2a70a5483c6/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "Vivi Xiao",
        "boundingRect": {
          "top": 582,
          "left": 107,
          "right": 135,
          "width": 28,
          "bottom": 618,
          "height": 36
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "This image file is larger than it needs to be (918x1168) for its displayed dimensions (56x56). Use responsive images to reduce the image download size.",
            "wastedBytes": 131176
          }
        ]
      },
      "totalBytes": 131561,
      "wastedBytes": 131176
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/e2dc615f-c8ef-45ed-853d-9f47e7629653/2026/07/0af5b027-5294-4909-9d05-5faf926f8fa1.jpg",
      "node": {
        "lhId": "page-21-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,27,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"不安\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/e2dc615f-c8ef-45ed-853d-9f47e7629653/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "不安",
        "boundingRect": {
          "top": 734,
          "left": 107,
          "right": 135,
          "width": 28,
          "bottom": 770,
          "height": 36
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "This image file is larger than it needs to be (739x940) for its displayed dimensions (56x56). Use responsive images to reduce the image download size.",
            "wastedBytes": 94395
          }
        ]
      },
      "totalBytes": 94823,
      "wastedBytes": 94395
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/5545c3bf-9a40-466f-8cab-8b6c245d438a/2026/07/f822c1ce-8f89-4fa1-925e-1e79168ae356.jpg",
      "node": {
        "lhId": "page-22-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,8,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"Bole\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/5545c3bf-9a40-466f-8cab-8b6c245d438a/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "Bole",
        "boundingRect": {
          "top": 505,
          "left": 56,
          "right": 84,
          "width": 28,
          "bottom": 541,
          "height": 36
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size.",
            "wastedBytes": 27158
          },
          {
            "reason": "This image file is larger than it needs to be (402x512) for its displayed dimensions (56x56). Use responsive images to reduce the image download size.",
            "wastedBytes": 60550
          }
        ]
      },
      "totalBytes": 61486,
      "wastedBytes": 60963
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/67b4d9f1-4728-4700-a442-fe9ed804c22b/2026/07/ff868f46-5edc-4e18-8a61-cd75fd2b26e0.png",
      "node": {
        "lhId": "page-23-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,11,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"Zane\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/67b4d9f1-4728-4700-a442-fe9ed804c22b/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "Zane",
        "boundingRect": {
          "top": 505,
          "left": 225,
          "right": 254,
          "width": 28,
          "bottom": 541,
          "height": 36
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "This image file is larger than it needs to be (415x528) for its displayed dimensions (56x56). Use responsive images to reduce the image download size.",
            "wastedBytes": 36410
          }
        ]
      },
      "totalBytes": 36939,
      "wastedBytes": 36416
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/bc9896d2-c8b9-4916-8461-271ba7f3b7e2/2026/07/ed347c66-ac6f-463b-8f9e-f42f68f06324.jpg",
      "node": {
        "lhId": "page-24-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"赵纯想\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/bc9896d2-c8b9-4916-8461-271ba7f3b7e2/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "赵纯想",
        "boundingRect": {
          "top": 320,
          "left": 61,
          "right": 101,
          "width": 40,
          "bottom": 370,
          "height": 50
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size.",
            "wastedBytes": 13481
          },
          {
            "reason": "This image file is larger than it needs to be (318x400) for its displayed dimensions (78x78). Use responsive images to reduce the image download size.",
            "wastedBytes": 33019
          }
        ]
      },
      "totalBytes": 34678,
      "wastedBytes": 33664
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/6e49dbc8-86af-4f76-8814-dd88779e2bbc/2026/07/e761a15a-36db-4778-9592-d4c250c7aec1.jpg",
      "node": {
        "lhId": "page-25-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,31,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"leon7hao\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/6e49dbc8-86af-4f76-8814-dd88779e2bbc/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "leon7hao",
        "boundingRect": {
          "top": 734,
          "left": 328,
          "right": 356,
          "width": 28,
          "bottom": 770,
          "height": 36
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size.",
            "wastedBytes": 5595
          },
          {
            "reason": "This image file is larger than it needs to be (361x460) for its displayed dimensions (56x56). Use responsive images to reduce the image download size.",
            "wastedBytes": 32677
          }
        ]
      },
      "totalBytes": 33305,
      "wastedBytes": 32782
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/5565094a-1651-471a-b659-e9a89167473a/2026/07/af984857-bbaa-412f-aaba-6ca2a11af230.jpg",
      "node": {
        "lhId": "page-26-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,23,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"kajian du\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/5565094a-1651-471a-b659-e9a89167473a/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "kajian du",
        "boundingRect": {
          "top": 658,
          "left": 225,
          "right": 254,
          "width": 28,
          "bottom": 694,
          "height": 36
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size.",
            "wastedBytes": 10112
          },
          {
            "reason": "This image file is larger than it needs to be (314x400) for its displayed dimensions (56x56). Use responsive images to reduce the image download size.",
            "wastedBytes": 30289
          }
        ]
      },
      "totalBytes": 31064,
      "wastedBytes": 30541
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/aa219334-c646-48b6-86ea-16ababb875a4/2026/07/838d305b-097c-4b56-94a5-1512df82cac4.png",
      "node": {
        "lhId": "page-27-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,10,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"MorphGlyph\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/aa219334-c646-48b6-86ea-16ababb875a4/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "MorphGlyph",
        "boundingRect": {
          "top": 505,
          "left": 158,
          "right": 187,
          "width": 28,
          "bottom": 541,
          "height": 36
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "This image file is larger than it needs to be (544x692) for its displayed dimensions (56x56). Use responsive images to reduce the image download size.",
            "wastedBytes": 28215
          }
        ]
      },
      "totalBytes": 28452,
      "wastedBytes": 28215
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/52df8074-8c06-4e8f-84fb-c1d67e5813af/2026/07/e3b0a511-06ff-48d5-8d44-e22418cca2e5.jpg",
      "node": {
        "lhId": "page-28-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,25,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"飞流\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/52df8074-8c06-4e8f-84fb-c1d67e5813af/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "飞流",
        "boundingRect": {
          "top": 658,
          "left": 328,
          "right": 356,
          "width": 28,
          "bottom": 694,
          "height": 36
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size.",
            "wastedBytes": 6119
          },
          {
            "reason": "This image file is larger than it needs to be (314x400) for its displayed dimensions (56x56). Use responsive images to reduce the image download size.",
            "wastedBytes": 26396
          }
        ]
      },
      "totalBytes": 27071,
      "wastedBytes": 26548
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/e092fdb6-fad1-4963-9c61-32ca9e9e3c27/2026/07/8d02c113-fa4c-4145-adc3-e9b69c0483c9.png",
      "node": {
        "lhId": "page-29-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,1,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"小哲\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/e092fdb6-fad1-4963-9c61-32ca9e9e3c27/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "小哲",
        "boundingRect": {
          "top": 320,
          "left": 136,
          "right": 176,
          "width": 40,
          "bottom": 370,
          "height": 50
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size.",
            "wastedBytes": 12263
          }
        ]
      },
      "totalBytes": 13484,
      "wastedBytes": 12470
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/1fbbf34e-1b9f-4bd0-aa82-a29e5f8b2f8d/2026/07/9cc30d4b-7173-4743-a488-07c212a166a2.jpg",
      "node": {
        "lhId": "page-30-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,6,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"大嘴\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/1fbbf34e-1b9f-4bd0-aa82-a29e5f8b2f8d/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "大嘴",
        "boundingRect": {
          "top": 413,
          "left": 236,
          "right": 276,
          "width": 40,
          "bottom": 463,
          "height": 50
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size.",
            "wastedBytes": 5753
          }
        ]
      },
      "totalBytes": 6974,
      "wastedBytes": 5960
    },
    {
      "url": "https://r2.vibeloft.ai/avatars/1a0120c9-7e5b-4cf0-ade7-f72eb879fbc9/2026/07/085bce6d-cf97-4781-9c51-538ff03f05b4.jpg",
      "node": {
        "lhId": "page-31-IMG",
        "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,2,DIV,0,DIV,0,DIV,0,DIV,0,DIV,29,SPAN,0,SPAN,0,SPAN,0,SPAN,0,IMG",
        "type": "node",
        "snippet": "<img alt=\"清竹\" loading=\"lazy\" decoding=\"async\" class=\"h-full w-full rounded-[40%] object-cover\" src=\"https://r2.vibeloft.ai/avatars/1a0120c9-7e5b-4cf0-ade7-f72eb879fbc9/2026/0…\">",
        "selector": "span.relative > span.absolute > span.relative > img.h-full",
        "nodeLabel": "清竹",
        "boundingRect": {
          "top": 734,
          "left": 225,
          "right": 254,
          "width": 28,
          "bottom": 770,
          "height": 36
        }
      },
      "subItems": {
        "type": "subitems",
        "items": [
          {
            "reason": "This image file is larger than it needs to be (104x132) for its displayed dimensions (56x56). Use responsive images to reduce the image download size.",
            "wastedBytes": 4163
          }
        ]
      },
      "totalBytes": 5400,
      "wastedBytes": 4877
    }
  ],
  "headings": [
    {
      "key": "node",
      "label": "",
      "valueType": "node"
    },
    {
      "key": "url",
      "label": "URL",
      "valueType": "url",
      "subItemsHeading": {
        "key": "reason",
        "valueType": "text"
      }
    },
    {
      "key": "totalBytes",
      "label": "Resource Size",
      "valueType": "bytes"
    },
    {
      "key": "wastedBytes",
      "label": "Est Savings",
      "valueType": "bytes",
      "subItemsHeading": {
        "key": "wastedBytes",
        "valueType": "bytes"
      }
    }
  ],
  "debugData": {
    "type": "debugdata",
    "wastedBytes": 13560501
  }
}

LCP breakdown

Each subpart has specific improvement strategies. Ideally, most of the LCP time should be spent on loading the resources, not within delays.

Elements & resources
{
  "type": "list",
  "items": [
    {
      "type": "table",
      "items": [
        {
          "label": "Time to first byte",
          "subpart": "timeToFirstByte",
          "duration": 1158.914
        },
        {
          "label": "Resource load delay",
          "subpart": "resourceLoadDelay",
          "duration": 6623.14
        },
        {
          "label": "Resource load duration",
          "subpart": "resourceLoadDuration",
          "duration": 498.236
        },
        {
          "label": "Element render delay",
          "subpart": "elementRenderDelay",
          "duration": 268.402
        }
      ],
      "headings": [
        {
          "key": "label",
          "label": "Subpart",
          "valueType": "text"
        },
        {
          "key": "duration",
          "label": "Duration",
          "valueType": "ms"
        }
      ]
    },
    {
      "lhId": "page-0-IMG",
      "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,0,IMG",
      "type": "node",
      "snippet": "<img aria-hidden=\"true\" alt=\"\" decoding=\"async\" draggable=\"false\" fetchpriority=\"high\" class=\"pointer-events-none absolute left-1/2 top-0 z-0 h-auto max-w-none select-n…\" src=\"https://r2.vibeloft.ai/vibeloft-web-assets/cockpit/aircraft-blueprint-d31a…\" style=\"transform: translateX(-50%); width: 140%;\">",
      "selector": "div.flex > div.relative > section.relative > img.pointer-events-none",
      "nodeLabel": "div.flex > div.relative > section.relative > img.pointer-events-none",
      "boundingRect": {
        "top": 75,
        "left": -77,
        "right": 489,
        "width": 566,
        "bottom": 2967,
        "height": 2892
      }
    }
  ]
}

LCP request discovery

Optimize LCP by making the LCP image discoverable from the HTML immediately, and avoiding lazy-loading

Elements & resources
{
  "type": "list",
  "items": [
    {
      "type": "checklist",
      "items": {
        "eagerlyLoaded": {
          "label": "LCP resources should not use loading=lazy",
          "value": true
        },
        "priorityHinted": {
          "label": "fetchpriority=high applied",
          "value": true
        },
        "requestDiscoverable": {
          "label": "Request is discoverable in initial document",
          "value": false
        }
      }
    },
    {
      "lhId": "page-0-IMG",
      "path": "2,HTML,1,BODY,0,DIV,0,DIV,1,DIV,1,DIV,1,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,DIV,0,SECTION,0,IMG",
      "type": "node",
      "snippet": "<img aria-hidden=\"true\" alt=\"\" decoding=\"async\" draggable=\"false\" fetchpriority=\"high\" class=\"pointer-events-none absolute left-1/2 top-0 z-0 h-auto max-w-none select-n…\" src=\"https://r2.vibeloft.ai/vibeloft-web-assets/cockpit/aircraft-blueprint-d31a…\" style=\"transform: translateX(-50%); width: 140%;\">",
      "selector": "div.flex > div.relative > section.relative > img.pointer-events-none",
      "nodeLabel": "div.flex > div.relative > section.relative > img.pointer-events-none",
      "boundingRect": {
        "top": 75,
        "left": -77,
        "right": 489,
        "width": 566,
        "bottom": 2967,
        "height": 2892
      }
    }
  ]
}
Environment & raw metrics
{
  "finalUrl": "https://vibeloft.ai/",
  "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/151.0.0.0 Safari/537.36",
  "formFactor": "mobile",
  "throttlingMethod": "simulate",
  "throttling": {
    "rttMs": 150,
    "throughputKbps": 1638.4,
    "requestLatencyMs": 562.5,
    "uploadThroughputKbps": 675,
    "cpuSlowdownMultiplier": 4,
    "downloadThroughputKbps": 1474.5600000000002
  },
  "metrics": [
    {
      "id": "largest-contentful-paint",
      "unit": "millisecond",
      "value": 7794.51
    },
    {
      "id": "cumulative-layout-shift",
      "unit": "unitless",
      "value": 0.03602178313127745
    },
    {
      "id": "total-blocking-time",
      "unit": "millisecond",
      "value": 3468
    },
    {
      "id": "first-contentful-paint",
      "unit": "millisecond",
      "value": 4085.492
    },
    {
      "id": "speed-index",
      "unit": "millisecond",
      "value": 9682.255228271493
    }
  ]
}

01 / WHAT WORKS

What makes it work

Cohesive aviation skeuomorphic system

From the Loft 001 fuselage seat map to tactical 3D button depths and boarding pass metadata tags, every navigation element reinforces the cabin flight theme without collapsing legibility.

Structured information density in desktop discovery

The right discovery column cleanly packs tool rankings, developer visitor counts, and category tags into crisp bordered rows using Montserrat and Fira Code typography.

02 / NEXT STEPS

Where to go next

  1. 01

    Transform passive empty recommendation cards into an interactive submission CTA

    All four slots under '产品推荐' currently display static '虚位以待' text with no submission instructions, review criteria, or pricing hints, causing visitors to treat the site as incomplete.

    Convert the empty slots into dashed interactive drop zones with a clear label like '申请推荐位' that opens a product submission modal. Verify at 1440x900 that clicking any slot displays the creator submission form.

  2. 02

    Provide accessible access to tool and growth leaderboards on mobile

    On the 390px mobile viewport, the entire right discovery rail containing the VibeCoding Tool List and Product Growth List is hidden, leaving users solely with cabin seat scrolling and no direct in-view indicator of where the directory lives.

    Add a segmented top tab bar or floating toggle badge (e.g. '机舱视角 / 榜单发现') below the mobile top bar (52px height). Verify at 390x844 that tapping the switch renders the ranking feed seamlessly.

03 / DESIGN LANGUAGE

A design system you can reuse

Colors

Background

#f0f0f0

Text

#333333

Surface

#ffffff

Border

#d0d0d0

Typography

Display font
Montserrat
Body font
Montserrat
Heading / body
20px / 13px

Spacing & shape

Section gap
0px
Component inset
0px
Card radius
0px
Button radius
9.6px

CLEARER WORDS

Copy Revision Diff

Now

虚位以待

SUGGESTED COPY

申请推荐位

Replaces passive inventory placeholder wording with an actionable creator CTA.
Now

立即登机

SUGGESTED COPY

立即登机 · 入驻工位

Clarifies that boarding onboard Loft 001 claims an indexed maker seat in the community directory.

04 / EVIDENCE

The detail behind the report

Explore each observation, recommendation and captured record.

Conversion5 observations

No human or proof on the page

Medium

A stranger landing on an AI-looking site with no maker, no customer, and no contact will not give you an email.

Add a real name, a real face, a real contact method, or one real customer line.

no about, no first-person, no quote

No analytics on the live page

Medium

If you cannot see who bounced, you cannot tell if the next fix worked. Shipping without a counter is flying blind.

Put Plausible, PostHog, or GA4 on the public pages. One snippet is enough.

no gtag / plausible / posthog / umami

No way to reach a human

Medium

A stranger who wants to buy, ask, or complain has nowhere to go. That is a conversion leak and a trust leak.

Put a mailto, a form that works, or a real social handle in the footer. One is enough.

no mailto / telegram / x / github / email

Tab title and H1 disagree

If the tab, the share card, and the hero name different things, the visitor cannot form one memory of the product.

Make title, og:title, and H1 share the same noun.

title="VibeLoft | 全球 VibeCoding爱好者聚集地" h1="发现"

Boarding CTA lacks concrete creator incentive

Medium

The primary black button '立即登机' and bottom helper '登录 Vibeloft加入创作者机舱' tell users to register, but provide no bullet points explaining traffic distribution, profile verification, or maker exposure.

Place a one-line micro-copy string beneath the boarding button explaining the benefits, for example: '展示独立作品,同步周访问量,结识全球 VibeCoder'.

登录 Vibeloft加入创作者机舱
Launch3 observations

Crawlers see an empty shell

High

The first HTML has almost no text. Google is slow on this. GPTBot and ClaudeBot often see nothing, so the site cannot be found or cited.

Render the headline, promise, and primary CTA in the first HTML. SSR, SSG, or prerender the public pages.

raw text 30 chars

No HSTS header

Medium

Without Strict-Transport-Security, a first visit can still be downgraded to http. Browsers will not pin HTTPS.

Set Strict-Transport-Security: max-age=31536000; includeSubDomains at the edge.

strict-transport-security missing

No Content-Security-Policy

A CSP is the standard way to limit script sources. Vibe-coded pages often load anything, including injected scripts.

Start with a report-only CSP, then default-src 'self' and an explicit script-src.

content-security-policy missing
Link preview

05 / MAKE IT HAPPEN

Give your AI a clear next step

Use the improvement prompt for this page, or the design prompt to borrow its visual language. “Recreate” includes references and implementation steps. Paste either into your coding assistant.

Preview full instructions
Implement creator onboarding enhancements and mobile tab toggles for Vibeloft.ai while strictly preserving all extracted design tokens. In the desktop discovery rail, replace the static '虚位以待' text inside the four product recommendation grid slots with an active dashed card button labeled '申请推荐位', styled with border '1px dashed oklch(0.8576 0 0)', background '#ffffff', and hover shadow '0px 2px 0px 0px #33333326'. When clicked, open a modal with product submission fields (product name, description, URL, visitor count proof). In the left navigation, underneath the primary '立即登机' button (styled with black background 'oklch(20.5% 0 0)', 3D inset shadow, and radius 9.6px), add a secondary caption in font-size 11px and muted ink '#333333' stating '入驻 Loft 001 · 展示独立产品与流量数据'. On mobile viewports under 768px, add a clean pill segment control below the 52px top bar with options '客舱工位' and '生态榜单', allowing mobile users to toggle between the airplane SVG seat map and the rankings feed (VibeCoding 工具榜 and 产品增速榜). Verify layout stability at 1440x900 and 390x844.