<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/he-just-crawled-through-hell-to-fix-the-browser--is4jmyoz4" -->

---
title: He just crawled through hell to fix the browser… | daily.dev
description: Pretext is a new TypeScript library by Changlu (former React core team member) that bypasses browser layout reflow for text measurement. It uses the Canvas API...
canonical: https://daily.dev/posts/he-just-crawled-through-hell-to-fix-the-browser--is4jmyoz4
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: He just crawled through hell to fix the browser… | daily.dev
og:description: Pretext is a new TypeScript library by Changlu (former React core team member) that bypasses browser layout reflow for text measurement. It uses the Canvas API...
og:url: https://daily.dev/posts/he-just-crawled-through-hell-to-fix-the-browser--is4jmyoz4
og:image: https://api.daily.dev/og/posts/Is4JMYoz4.png
og:image:alt: He just crawled through hell to fix the browser…
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# He just crawled through hell to fix the browser…

**[Fireship](https://daily.dev/sources/fireship)** · 5 min read · 103 upvotes · 7 comments

## Summary

Pretext is a new TypeScript library by Changlu (former React core team member) that bypasses browser layout reflow for text measurement. It uses the Canvas API to measure text width without touching the DOM, and a custom algorithm for calculating line breaks and text height across browsers and languages. This enables building performant text-heavy UIs like virtualized lists and masonry layouts without the typical performance cost of triggering browser reflows.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=vd14EElCRvs>

## Community discussion

Top comments from developers on daily.dev.

**@axtroz** · 15 upvotes

> This has its uses, but is so overhyped. "fixed the browser", "solved the web", bollocks. Most of the demos while impressive and artistic, are completely useless. Text heavy pages that reorder their paragraphs 120 times per second is cool, but impractical for actual reading and the AI that's gonna summarize your blog post is not gonna care for your fancy animation anyway. I guess this gives the people hosting ads a way to make their sites even more obnoxious because now we can have a static ad in the middle of the page while the article is flowing around it.

**@paulmarc** · 0 upvotes

> Not that it's hyped or anything, but a lot of "thankless" smart people out there doing "random" things, making it super easy for the rest of us :)

## Similar posts on daily.dev

- [Pretext.js Bypasses DOM Layout Reflow, Enabling Advanced UX Patterns at 120 FPS](https://daily.dev/posts/pretext-js-bypasses-dom-layout-reflow-enabling-advanced-ux-patterns-at-120-fps-b1lmzt2mp) · InfoQ · 13 upvotes · 0 comments
- [Pretext and Donald Knuth](https://daily.dev/posts/pretext-and-donald-knuth-uwrj8vrwc) · Biilmann Blog · 0 upvotes · 0 comments

---

Tags: [#typescript](https://daily.dev/tags/typescript)

[View this post on daily.dev](https://daily.dev/posts/he-just-crawled-through-hell-to-fix-the-browser--is4jmyoz4)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"He just crawled through hell to fix the browser…","url":"https://daily.dev/posts/he-just-crawled-through-hell-to-fix-the-browser--is4jmyoz4","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/he-just-crawled-through-hell-to-fix-the-browser--is4jmyoz4"},"datePublished":"2026-04-02T19:20:29.940Z","dateModified":"2026-04-03T21:19:02.978Z","description":"Pretext is a new TypeScript library by Changlu (former React core team member) that bypasses browser layout reflow for text measurement. It uses the Canvas API...","image":"https://i.ytimg.com/vi/vd14EElCRvs/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/vd14EElCRvs/sddefault.jpg","isAccessibleForFree":true,"articleSection":"Fireship","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Fireship","logo":"https://media.daily.dev/image/upload/s--75ndqrkr--/f_auto,t_logo/v1702882094/logos/fireship.jpg","url":"https://daily.dev/sources/fireship"},"commentCount":7,"discussionUrl":"https://daily.dev/posts/he-just-crawled-through-hell-to-fix-the-browser--is4jmyoz4","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":103},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":7}],"keywords":"typescript","timeRequired":"PT5M","video":{"@type":"VideoObject","name":"He just crawled through hell to fix the browser…","description":"Pretext is a new TypeScript library by Changlu (former React core team member) that bypasses browser layout reflow for text measurement. It uses the Canvas API...","thumbnailUrl":"https://i.ytimg.com/vi/vd14EElCRvs/sddefault.jpg","uploadDate":"2026-04-02T19:20:29.940Z","duration":"PT5M","url":"https://api.daily.dev/r/Is4JMYoz4","embedUrl":"https://www.youtube.com/embed/vd14EElCRvs"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Fireship","item":"https://daily.dev/sources/fireship"},{"@type":"ListItem","position":3,"name":"He just crawled through hell to fix the browser…"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/he-just-crawled-through-hell-to-fix-the-browser--is4jmyoz4","comment":[{"@type":"Comment","text":"This has its uses, but is so overhyped. “fixed the browser”, “solved the web”, bollocks. Most of the demos while impressive and artistic, are completely useless. Text heavy pages that reorder their paragraphs 120 times per second is cool, but impractical for actual reading and the AI that’s gonna summarize your blog post is not gonna care for your fancy animation anyway. I guess this gives the people hosting ads a way to make their sites even more obnoxious because now we can have a static ad in the middle of the page while the article is flowing around it.","datePublished":"2026-04-03T06:41:14.123Z","url":"https://daily.dev/posts/Is4JMYoz4#c-Q661HimyR","author":{"@type":"Person","name":"Iskren Hadzhinedev","url":"https://daily.dev/axtroz","image":"https://media.daily.dev/image/upload/s--C19l3DZF--/f_auto/v1751873071/avatars/avatar_lO9k8VXJCvNZH1yCv4kj6?_a=BAMClqZW0"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":15}},{"@type":"Comment","text":"Not that it’s hyped or anything, but a lot of “thankless” smart people out there doing “random” things, making it super easy for the rest of us :)","datePublished":"2026-04-07T03:25:41.754Z","url":"https://daily.dev/posts/Is4JMYoz4#c-LPpzO098B","author":{"@type":"Person","name":"paulmarc","url":"https://daily.dev/paulmarc","image":"https://media.daily.dev/image/upload/s--yFutR-QN--/f_auto/v1737446314/avatars/avatar_iHStoImiuFyQFvwEddWek"}}]}
```

