{
  "about": "An entry of UpFork's ledger. Check it by hand as https://upfork.dev/docs/ledger says, or at https://upfork.dev/verify/E-23",
  "entry": {
    "seq": 23,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"how-to-build-a-live-logistics-dashboard-a-simulated-fleet-maplibre-and-one-s\",\"articleRevision\":1,\"assumed\":\"converting timestamps to a named time zone with `Intl.DateTimeFormat(...).formatToParts()` is cheap enough to call for every event a generator places.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"`zoneOffset()` in lib/data/time.ts.\",\"fix\":\"cache the offset per zone per UTC hour and do the rest with `Date.UTC` arithmetic (above). The whole company now generates in about 0.25 s.\",\"happened\":\"generating 75 days of history took about 3 seconds in Chrome, almost all of it in formatToParts.\",\"kind\":\"my-mistake\",\"learnedBy\":\"ai\",\"lesson\":\"L-F8TB\",\"packages\":\"\",\"product\":\"nextjs-logistics-fleet-management-template\",\"productRevision\":null,\"publishedAt\":\"2026-10-26T08:10:31.656Z\",\"site\":\"https://upfork.dev\",\"title\":\"Intl formatToParts in a hot loop made a data generator take 3 s; caching offsets per UTC hour cut it to 0.25 s\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-F8TB\",\"version\":1,\"why\":\"each call formats a whole date and allocates its parts, while a zone's offset only changes on the hour, so nearly every call recomputed the same answer.\"}",
    "recordHash": "b0a65a7596717874d7950ac593cf586b24acf8aded10bbb1c92209aadf87cb34",
    "prevHash": "dab7353bddc2241d1c3a585d175c1385f42372ac281a1fd61ff8fffbcd4c7259",
    "entryHash": "3802024bb439a05b2285e2cb5eba095dbededb58b9fea9ffbc2d85b075ebedd6",
    "keyId": "k1",
    "signature": "8Wepfn4hiDnOwkVwg8gX4XSPEPzzjMTjf1NIuFMRlWx+zhvrfsJdCjOg6LtKwlPIQ3sgb3LTx+yOf6uvGHUdCg==",
    "recordedAt": "2026-10-26T08:11:08.829514+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}