This past week, the web development world was slapped in the face by Figma’s new feature: Figma Sites, websites fully assembled inside of Figma then compiled to (React Native Web, supposedly) code. Figma Sites was called, among other things, a WordPress killer. I get it- moving a design from Figma to WordPress (or any other CMS) is still really hard, manual work. There’s no way around it.
The reality: You can build a tool for designers or for developers or for content editors, but no tool will be perfect for all three.
WordPress core leans into optimizing for the content editor, the person managing the content inside the CMS. Developer/designer workflows are secondary. Elementor successfully leaned towards designers, and in my agency days I saw a lot of smaller design agencies pull developers out of the workflow and throw their designers straight into the page builder. It was great for them, but it could hamstring a project once it actually needed custom development or had a lot of non-technical editors trying to make basic content updates. There’s no single perfect tool.
Regarding Figma sites, I and a few other’s chimed in noting how bad the generated HTML was. It was a nested DIV soup that broke many of the conventions of semantic HTML and accessibility. My tweet about it got a lot of engagement, but I’m not surprised. The only tweets that blow up like this are negative. It’s happened to me before- an offhand tweet knocking something (or worse, someone) and it takes off, grabbing way more views than the nice, constructive tweets you normally post. That’s the game, I guess.
I got a number of replies/quote tweets for calling out this bad HTML, but one dramatically-punctuated tweet in particular really stuck with me:
i’ve been hearing this shit since the dreamweaver days it. doesn’t. matter. and. it. will. matter. less. and. less. the. user. wants. things. to. work. period.
@thekitze
One the one hand, I kind of agree with this take. In this case, the code quality doesn’t really matter to the user, specifically the Figma user.
But what about the end user, especially the one who can’t navigate the page successfully through their screen reader or even find it through a search engine? Shouldn’t we as web professionals strive for the highest quality, most accessible experience?
There is always a trade-off between speed and quality (and cost, the iron triangle). It’s worth asking myself if I am also operating off a preconceived bias. Perhaps my value on “clean code” is overblown, as the tweet above implied.
Clean code is not really the end goal. It’s nice. I like it. But that’s not the end purpose. So what is?
- Performant code.
- Accessible code.
- Maintainable code.
And yet… we have to be honest about the future of the web. As LLMs write more and more of our code, does “clean code” really matter? We’re entering a phase where code generation is so commoditized that humans aren’t even writing it, reviewing it, or ever looking at it in many places. It feels like this is only going to accelerate.
But we’re not there yet, and we don’t know when the plateau will hit (regardless of what the hype says).
This viral tweet going around showcases a list of skills that “vibe coders” need to learn, including writing a detailed implementation plan, using git version control, comparing multiple outputs, implementing testing and logging, and more. So you know, basically all the things that a non-vibe coder needs to know. Ethan Mollick shared some similar advice around prompt engineering, and it’s just a list of skills that any project manager or person creating knowledge work needs to have, like properly explaining your task and giving feedback.
There’s no doubt that we’re going to see a rise in the amount of code generated, to say nothing about the quality. In one sense, that’s democratizing. What’ll be more important is what all this code is doing in a year from now, when it needs to be updated, refactored, extended. Will the LLMs get good enough to write clean code? Will we care?
Ultimately, Figma Sites are the the type of mass production garbage we’re all so used to with most consumer goods these days. Nothing feels like it was built to last, from kitchen appliances to clothing. In fact, the only thing with a long shelf-life is your preservative-laden, processed food.
Bespoke websites may now become a luxury good, a growing trend since well before the recent advancements in AI. Regardless, as creators on the web, we have to align on our true priorities for any given project.
What do you think- will your agency start using Figma Sites?
Links from around the web
- Mike McAlister is dropping version 2.0 of his Ollie Pro plugin this week. It’s the onboarding experience that WordPress full site editing sorely needs. I’ve already used it to spin up a new site and it’s impressive. Ollie Pro 2.0 is almost here
- Congrats to the Newspack team, who is doing amazing work helping independent media thrive. They are working with a deprecated CMS to onboard about 40 alt-weeklies to WordPress.ย Foundation and Newspack join forces โ Newspack
- Emily Rapport outlines the best way to host variable fonts on your WordPress site. Self-hosting variable fonts with WordPress
- Tyler Cowen interviews Jack Clark, co-founder of Anthropic. Lots to chew on about the future of AI and AGI, but content warning: you’ll hear some depressing/dystopian thoughts on giving your kids AI-powered toys to keep them entertained for you. Jack Clark on AI’s Uneven Impact
- If you’re building custom blocks, especially for WooCommerce, we posted a great video tutorial over on the WooCommerce Developer Blog. Tutorial: How to build blocks with WooCommerce
- No link, but I just finished Andor season 2 and it really is a masterpiece. Star Wars but done with HBO-levels of prestige.
- WP CLI got a nice update, including the ability to do post meta/date queries in the
wp post list
command. WP-CLI v2.12.0 Release Notes - WooCommerce is leveraging the “JSON Blueprints” feature of WordPress Playground to build a smarter way to spin up sites and share common configurations (including your site settings, active plugins, and more). Should this be something we do in core?
- AI in WordPress – James LePage shared some of the open source work happening to create a true first-party AI integration and MCP in WordPress core. OSS things to watch coming out of Automattic AI
That’s all. Happy developing to everyone who hasn’t been replaced with AI yet!
Leave a Reply