Articles · Topic

Web and apps

Web apps, back offices, APIs and mobile apps.

9 articles

#WebBeginner

JPEG XL is back in Chrome: why it was removed and should you use it now

Chrome dropped JPEG XL in 2022 and brought it back in Chrome 155 with jxl-rs, a Rust decoder. Who supports it, how to add it with picture, and when it beats AVIF.

6 min read
#WebIntermediate

CSS anchor positioning is Baseline: tooltips and menus without JavaScript

Anchor positioning is Baseline since Firefox 147. Tie a tooltip or menu to a button in pure CSS, let position-try-fallbacks dodge screen edges, and fall back safely.

6 min read
#WebBeginner

Open dialogs and popovers without JavaScript: HTML command and commandfor

HTML buttons can open and close dialogs and popovers on their own with command and commandfor, Baseline since December 2025. Built-in values, custom commands, fallbacks.

6 min read
#WebIntermediate

Core Web Vitals in 2026: LCP, INP and CLS, how to measure and fix each

The three numbers Google uses for speed and stability: 2.5 s, 200 ms and 0.1 at the 75th percentile. Field vs lab data, finding the culprit, and fixes that work.

9 min read
#WebBeginner

Responsive images for beginners: srcset, sizes, picture, AVIF and WebP

Images are the heaviest bytes on most home pages. Serve the right size with srcset and sizes, AVIF, WebP, JPEG via picture, and use width, height and lazy correctly.

8 min read
#WebIntermediate

Four websites, one engine: an Astro monorepo that shares code but not looks

One core/ plus a folder per site: four sites share layouts, article pages, i18n and deploy, and differ only in tokens and a home page. Plus one fix that reached all four.

10 min read
#WebIntermediate

Let an AI agent check your site at phone width with a 30-line browser script

An AI cannot see a screen, but it can measure one: a short script loads each page in a 375px iframe and names what overflows, which headings spill, which labels collide.

9 min read
#WebIntermediate

Thai text on the web: line breaks, fonts and reading time, fixed on five sites

Browsers break Thai with a dictionary and miss loanwords in big headings; keep-all does not help. Our nowrap and spacing fixes, reading time by characters, Thai fonts.

8 min read
#WebIntermediate

Keep the hot path off the database: short TTLs, cached misses, instant off

Hundreds of requests a second on a 2 GB box, from a live trade relay. How we set TTLs, why we cache 'not found' too, and why switching off must clear the cache at once.

5 min read