Recent submissions

Comment · 29 days ago
Location: Nomadic. US and EU (Hungarian) citizen, no sponsorship needed in either. Remote: Yes, 10+ years with async teams across time zones Willing to relocate: Yes, with visa sponsorship to Australia. Also open to on-site in the EU. Technologies: TypeScript, React, React Native, Next.js, Vue, Node.js, Python, modern CSS, d3.js, design systems, a11y, i18n, CI/CD, automated testing Résumé/CV: https://josprague.com Email: [email protected]

Senior/staff front-end engineer, 21 years of experience. Recently led front end on the new Firefox.com for Mozilla: 70+ component design system, 19 locales, Lighthouse accessibility 100. Before that, built climate data visualizations for Climate Central used 10M+ times by US media, and cut NASA Worldview's release cycle from weeks to minutes.

Now focused on AI-ready design systems that both developers and AI agents can use. Looking for senior/staff front-end or design systems roles, contract (via my US LLC) or full-time, ideally in climate, civic tech, open source, education or other mission-driven work.

Comment · 1 month ago
My approach is more "ship fast, iterate later". Your criticism of AI slop is valid and I share it. I've manually re-written the post today, no more AI slop. Of course, that came with the opportunity cost of not spending time on 100 other projects competing for my attention. AI has enabled me to do a lot more with my limited resource of attention.
Comment · 1 month ago
You're partially correct, in the sense that agentic software development means that exact tech stack choices no longer restrict what's possible or easy to quickly achieve. But having well designed technologies and design systems is actually more important than ever, because AI agents can use those systems to build UIs on the fly more efficiently, with less tokens, and achieving more consistency and reliability. If you want to build an AI system that creates UI for you on the fly, an essential component is a good design system. Take a look at how Claude Design works: if you want to create a design there, one of the first things it encourages you to do is to build a design system, and underneath, that feature has been programmed to use specific frameworks that are also carefully designed and built to make agentic software development more efficient.
Comment · 1 month ago
Thanks for your kind words. Luckily, I thrive on criticism of my work, and don't take negativity personally. Working with the team at Mozilla on this truly felt really great!
Comment · 1 month ago
Your frustrations with the state of CSS 2.0 at the time were quite common, and part of what CSS Zen Garden aimed to inspire people to transcend. Now, CSS has evolved to the point where none of these hacks are necessary. You can now write pure, semantic HTML, and pure CSS, and implement full-fidelity designs that work across all modern browsers. That was the whole dream of the CSS Zen Garden, which wasn't fully realized at the time, but now it is.
Comment · 1 month ago
I've unslopped it now. Thanks for the feedback.
Comment · 1 month ago
I used AI to get the post out quickly, but I've gone through and manually re-written it today.
Comment · 1 month ago
I appreciate the feedback. I did use AI to help me put this post together quickly. I've gone through today and manually re-written it. No more AI slop.
Comment · 1 month ago
Absolutely. When I first started building websites in the early 2000s, I was building site networks, where individuals would want their own themable websites quickly spun up. They all used the same backend system and components, each with unique designs and custom stylesheets. This pattern is incredibly common, and a lot of themable website building platforms are built on it.
Comment · 1 month ago
Comment · 1 month ago
Yes, not only this, but in my experience, several older browsers actually crash or freeze with too many @import statements in the CSS. While those browsers weren't necessarily a priority to support with modern styles, they styles they recieved still needed to be minimally accessible, so crashing the browser was a deal breaker.
Comment · 1 month ago
> The CSS Zen Garden worked because everyone was using a single markup file.

CSS Zen Garden was a proof of concept built around a single markup file. But if you extend that concept to hundreds of dynamic pages and a well built CSS design system, that's where the real power of CSS shows.

> In real life, it doesn't really work.

In real life it works incredibly well, which is what CSS Zen Garden originally showed, and what we've proven by applying these concepts to Firefox.

> If anything is out of place in the markup, the properties may not apply as intended. Similarly, if the CSS doesn't account for DOM structures, then you need modify rules or add new ones.

When stylesheets are written with an understanding of the Cascade and specificity, this isn't the case at all.

Comment · 1 month ago
Personally, I love the current Firefox.com design and see the simplicity as a feature. And it's designed to be responsive to any screen size. A design like this would have been incredibly challenging to build with CSS 2.0 in 2008. That's the point of this post. But if you find the design boring, just like the CSS Zen Garden, you can design your own user stylesheet to re-style the whole site, hundreds of pages in dozens of languages, into any design you want, with one stylesheet, because the styles are cleanly separated from the markup. Have fun!

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton