Together with  Clerk
🚀 Frontend Focus

#​674 — January 8, 2025 | Read on the web

Balancing Text in CSS — Ahmad kicks off the new year with this great interactive article explaining how we can make text more visually balanced using CSS. It’s a solid run through of what text-wrap and its different values can do.

Ahmad Shadeed

New Frontend Features for Designers in 2025 — Cosima notes that when searching for frontend workflows and toolkits, it’s easy to forget how powerful some of the fundamentals on the web have become. As such, this post is a journey through new features and what they are capable of.

Cosima Mielke

Building a React Login Page Template — Discover how to create a seamless React login page template with session-based authentication. Enhance your app's security and user experience using react-router-dom for efficient route protection.

Clerk sponsor

(Relatively) New Things You Should Know about HTML Heading Into 2025 — Chris Coyier takes a look at some of the more modern features of HTML worth knowing about. Luckily they’re not all cutting edge, but things you can actually use right now.

Chris Coyier

The Future of Htmx — htmx is the new jQuery? Well, it’s an ideal that the htmx team are actually striving for, looking to emulate the “technical characteristics of jQuery that make it such a low-cost, high-value addition to the toolkits of web developers”.

Gross & Petros

💡 In relation to the above, comes the Triptych Proposals — a set of three initiatives aimed at enhancing HTML's capability to handle network requests, along with reintroducing the "hyper" aspect of hypertext too.

⚡️ IN BRIEF

📙 Articles & Tutorials

Principles of Web Accessibility: How to Approach Accessible Web Interface Design — A dozen, snappy high-level guiding principles for approaching web accessibility.

Heydon Pickering

'HTML Is Actually a Programming Language. Fight Me' — “HTML’s promise is that we can build, make, code, and do anything we want.”

Tim Carmody

CSS Wants to Be a 'System' — “At the core of CSS is a series of cascading rules and classes marrying and mingling in an elegant symphony of style application.”

Dave Rupert

Product Management Is Broken. Engineers Can Fix It — How redefining how PMs and engineers work together helped PostHog optimize everything they do for speed and autonomy.

PostHog sponsor

🗓️ CSS Selectors Knowledge — We shared a bunch of dev focused ‘advent calendars’ last month, but here’s one that we missed — of course the benefit of sharing now means all the doors are open 😉. This resource shares various CSS selectors along with a quick video explainer and quiz to help build out your knowledge.

Frontendly

▶  Reckoning: Frontend's Lost Decade — In this roughly hour long talk Alex discusses platforms, apps, and the mobile web and why it’s important for us to get frontend culture “refocused on users, rather than ‘DX’ snake oil”.

Alex Russell

Publishing a Simple Client-Side JS Package to npm with GitHub Actions — As part of the process of building Prompts.js, a new library for creating simple await-able alternatives to alert(), confirm() and prompt(), Simon wanted to make it easy to publish as an npm package too.

Simon Willison

Knowing CSS is Mastery to Frontend Development — Frameworks come and go, so Anselm reminds us that understanding the underlying mechanisms of a language is the key to really mastering it.

Anselm Hannemann

Using HTML's translate Attribute to Turn Off Element Language Translation
Stefan Judis

How to Create Multi-Step Forms with Vanilla JS and CSS
Fatuma Abdullaho

🧰 Tools & Resources

CSS Variables Editor: A Chrome Extension for Managing Colors in CSS Variables — Works with any site that uses CSS variables, but is designed to work well with shadcn/ui or daisyUI. You can also use it to check color contrast accessibility scores and generate palettes via AI.

James Chetwood

Flexoki — An Open-Source Color Scheme for Prose & Code — If you’re looking for a nice color palette to reach for beyond the Tailwind CSS usuals, this here is a solid option. Lots of nice inky colours, inspired by ink/paint pigments on paper. There’s a good explainer here too on the decisions made. Repo here.

Steph Ango

Bolt 🤝Supabase Integration Is Live! — Bolt launched a one-click Supabase integration that lets you instantly spin up a full-stack app with a database.

StackBlitz sponsor

Type Scale Generator: Interactive Type Scale Editor & Code Generator — Provides a live preview of the settings you choose and you can export the code as CSS, SCSS, Tailwind, or even JSON for use in WordPress.

Landin.gs

Tipex: An Advanced Rich Text Editor for Svelte — Based on the popular Tiptap editor framework, it’s customizable, has theming support, and is Svelte 5-ready. Here’s a live example.

Friend of Svelte

Easing Graphs: A Gallery of Easing Graphs for CSS and Framer Motion — You can select any of the graphs to interactively customize the easing code as needed, and you can filter by the style of easing (in, out, in-out). Code can be copied as cubic-bezier-based CSS or Framer Motion component.

Alex Vanderzon & Lochie Axon

jsontr.ee: A Library to Visualize JSON Structures as Dynamic SVG Tree Diagrams — You can try it out on this playground, which provides the option to download the diagram as PNG, or use it in an app with customizable styles.

Lou Alcalá

HTML to Markdown: An Online Tool to Convert HTML to Markdown
Html To Markdown

tailwindcss-scoped-preflight: A Taiwlind Plugin to Avoid Style Conflicts with Other UI Libraries
Roman Kozodoi

🍷 ...and finally

DOOM: The Gallery Experience — A game developer has created this amusing version of DOOM, parodying art gallery openings, complete with curated pieces, wine, fancy music, and even hors d’oeuvres. If you fancy starting the new year with some culture then this is playable directly in the browser (which gives me an excuse to share it here...).

boba

👹 Talking of DOOM, why not protect your site with a DOOM flavored CAPTCHA. You'll need to slay some monsters to pass. Can your AI do that?

Ipx.