Dates
Use date-fns. It’s tree-shakeable (you import only the functions you use)
and doesn’t monkey-patch global objects the way some date libraries do.
import { format, parseISO, formatDistanceToNow } from "date-fns";
format(parseISO(iso), "dd/MM/yyyy HH:mm"); // 31/08/2026 14:05
formatDistanceToNow(parseISO(iso), { addSuffix: true }); // "about 2 hours ago"
Store and transport UTC ISO strings (e.g. 2026-08-31T14:05:00Z) and format
only at the edge — in the UI, for the user’s locale. Keeping everything UTC until
the last moment avoids a whole category of off-by-a-timezone bugs.