The childlike and the childish

It's crushing and disheartening to discover I live in a country where half the adults around me still haven't learned something I'm teaching my kindergartener. | Continue reading


@joshcollinsworth.com | 19 days ago

A response to "Defending Open Source: Protecting the Future of WordPress"

I feel it's important to issue a critical reading of Automattic's post, as it doesn't seem to offer any serious or objective examination of the issues at hand. Rather, the post unfortunately reads as something more akin to a puff piece, or corporate propaganda. | Continue reading


@joshcollinsworth.com | 20 days ago

If WordPress is to survive, Matt Mullenweg must be removed

I believe Matt Mullenweg's abuses of his unilateral, unchecked powers prove that it is in the best interest of the entire WordPress community that he be removed from power immediately. | Continue reading


@joshcollinsworth.com | 1 month ago

For whatever it's worth: my advice on job hunting in tech

A collection of things I've learned over my decade in the industry, on how and where to look for jobs, applying, interviewing, talking about yourself and your work, and all those other fun things. For whatever it's worth. | Continue reading


@joshcollinsworth.com | 5 months ago

A decade of code

A personal (read: meandering) post inspired by the realization that I first began to learn HTML and CSS exactly ten years ago, reflecting on the lucky turning points that brought me to where I am today. | Continue reading


@joshcollinsworth.com | 6 months ago

Follow-up: the Glove80 after six months

An update on my previous first impressions post, covering how it's been using the MoErgo Glove80 every day for the past six months, how it's affected my RSI, and whether I'd recommend it (short answer: yes). | Continue reading


@joshcollinsworth.com | 7 months ago

The quiet, pervasive devaluation of frontend

I keep noticing those of us in the frontend field being treated much the same as nurses, paralegals, and executive assistants. Our work is seen as important, certainly, but just not the same as, or as important as, the “real” work. | Continue reading


@joshcollinsworth.com | 8 months ago

I worry our Copilot is leaving some passengers behind

Why I worry about the effect GitHub Copilot is having and will continue to have on the accessibility of the web at scale. | Continue reading


@joshcollinsworth.com | 9 months ago

Things I enjoyed in 2023

Things I watched, read, played, got into, enjoyed, or did and would do again, in 2023. | Continue reading


@joshcollinsworth.com | 11 months ago

First impressions of the MoErgo Glove80 ergonomic keyboard

How does the Glove80 stack up against similar keyboards like the Moonlander and Ergodox? I share my impressions after the first few weeks of use. | Continue reading


@joshcollinsworth.com | 1 year ago

A message from the Captain of the S.S. Layoff

Indeed, there's plenty to go around, thanks largely to all of you. But the fastest way to make the numbers better is to stop feeding and sheltering people and their families. Nothing personal. | Continue reading


@joshcollinsworth.com | 1 year ago

Classic rock, Mario Kart, and why we can’t agree on Tailwind - Josh Collinsworth blog

I suspect most people on opposing sides of the Tailwind debate actually complete agree on Tailwind itself. I don’t think we disagree on atomic CSS, or utility classes; I think our contention comes from the valuations we made long before we ever chose our tools. Where one of us se … | Continue reading


@joshcollinsworth.com | 1 year ago

Things you forgot (or never knew) because of React - Josh Collinsworth blog

I don’t think most people using React on a regular basis realize quite how much it’s fallen behind. Following on from Josh’s earlier post where he said “React isn’t great at anything except being popular”, here are the details. Every decision React’s made since its inception c … | Continue reading


@joshcollinsworth.com | 1 year ago

Alfred vs. Raycast: my constant debate

After a year or so of using Raycast, I'm switching back to Alfred. This is what prompted me to make that decision, and why I may or may not stick with it. | Continue reading


@joshcollinsworth.com | 1 year ago

Adding page transitions in SvelteKit

Transitions, easing, and routing are all baked into SvelteKit. This makes utilizing page transition effects in SvelteKit sites and apps as easy as adding just a few lines of code. | Continue reading


@joshcollinsworth.com | 1 year ago

Ten tips for better CSS transitions and animations

Creating high-quality, polished web animations is both a science and an art. This post covers the best things I've learned over the last decade of crafting web UIs. | Continue reading


@joshcollinsworth.com | 1 year ago

Understanding easing and cubic-bezier curves in CSS

The easing curve can make or break any animation on the web. Let's look at the science of CSS cubic-bezier curves, and the art of using them to make the best web animations possible. | Continue reading


@joshcollinsworth.com | 1 year ago

Impressions of the ZSA Moonlander at one month

My thoughts, experience, and advice after using the Moonlander as my main keyboard for both personal and work projects for a full month | Continue reading


@joshcollinsworth.com | 1 year ago

Why you should never use px to set font-size in CSS - Josh Collinsworth blog

Many developers seem to believe there's no difference between px and other CSS units. Let's dispel that myth, for the sake of better accessibility. | Continue reading


@joshcollinsworth.com | 2 years ago

Forty-two

I'm 42 years old today. This is a personal post about where I am now, what's going on in my head, and 42 things I've learned (or at least, think I've learned). | Continue reading


@joshcollinsworth.com | 2 years ago

The self-fulfilling prophecy of React - Josh Collinsworth blog

Matcalfe’s Law in action: Companies keep choosing React because they know there’s a massive pool of candidates who know it; candidates keep learning React because they know companies are hiring for it. It’s a self-sustaining cycle. But the problem is: React isn’t great at an … | Continue reading


@joshcollinsworth.com | 2 years ago

Breaking changes in SvelteKit, August 2022

SvelteKit introduced breaking changes to its routing and data loading in August 2022. Learn how to convert from the old way of doing things to the new. | Continue reading


@joshcollinsworth.com | 2 years ago

Announcing Hondo

Updating Quina to version 2.0 filled my head with new ideas that I just couldn't walk away from. Eventually, those ideas took the shape of a whole new word game, named Hondo. | Continue reading


@joshcollinsworth.com | 2 years ago

Building accessible toggle buttons (with examples for Svelte, Vue, and React)

Toggle buttons might be the biggest missing native HTML element. This post will help you code them right, for all users, in any (or no) framework. | Continue reading


@joshcollinsworth.com | 2 years ago

Debugging iOS Safari (when all you have is a Mac)

Debugging iOS Safari is a challenge (and possibly expensive) when you don't have access to an iPhone. Here are a few options to get around that problem. | Continue reading


@joshcollinsworth.com | 2 years ago

Creating dynamic bar charts with CSS grid

How to use CSS grid to make a responsive, adaptable bar chart with no math or external library required! | Continue reading


@joshcollinsworth.com | 2 years ago

Let's learn SvelteKit by building a static Markdown blog from scratch

Learn the fundamentals of SvelteKit by building a statically generated blog from scratch, with Markdown support, Sass, an API, and an RSS feed. | Continue reading


@joshcollinsworth.com | 2 years ago

Adding blog comments to your static site with utterances

The web world is full of tradeoffs. Going from a CMS to a static site keeps things simple—but that simplicity comes with costs. Luckily, giving up comments on your blog doesn't have to be one of them. | Continue reading


@joshcollinsworth.com | 3 years ago

Svelte, and Comparing Svelte with React and Vue

Svelte is a new style of framework for building sites and apps. Let's dive into what makes it different, why it's so enjoyable, and how it's able to ship such tiny, fast apps. | Continue reading


@joshcollinsworth.com | 3 years ago

Converting from Gridsome to SvelteKit

I've been a fan of Svelte for years, but never had the opportunity to use it on a serious project before. So when I found myself looking for a new platform for this site as SvelteKit entered open beta, it seemed like perfect timing. | Continue reading


@joshcollinsworth.com | 3 years ago

Goodbye, WordPress

WordPress was potentially the most impactful and empowering technology I've yet encountered. It transformed my career path and enabled me to do anything I wanted at every point in my journey. So why leave it now? | Continue reading


@joshcollinsworth.com | 3 years ago

Announcing Quina (My First App)!

The story of building Quina, a word game Progressive Web App built with Nuxt, and launched on the Google Play Store. | Continue reading


@joshcollinsworth.com | 3 years ago

How to Create Custom Editor Blocks with Block Lab

Block Lab is a WordPress plugin that simplifies the process of creating custom blocks to use in the block editor, AKA Gutenberg, the new content editor in WordPress 5.0. This post explains how to use it, even if you only know basic HTML. | Continue reading


@joshcollinsworth.com | 4 years ago

A New Headless Site with Gridsome

A lengthy write-up diving into what headless means, its advantages and disadvantages, some of the techniques and gotchas involved, and, finally, the new design of this site specifically. | Continue reading


@joshcollinsworth.com | 4 years ago

This isn't the Time, But it's the Perfect Time; Goodbye, Instagram

…Lately, I’ve been wondering whether I can actually continue supporting Instagram and the company behind it, however passively or at whatever seemingly insignificant scale. And while I was zeroing in on this answer anyway, the events of the last couple of weeks have clearly cemen … | Continue reading


@joshcollinsworth.com | 4 years ago

How to Connect Local with CodeKit

Enjoy all the convenience of easy local WordPress development with Local, plus build tools with CodeKit, without any of the tricky command line setup. | Continue reading


@joshcollinsworth.com | 4 years ago

How to Check Uniqueness in an Array of Objects in JavaScript

Working with arrays of objects in JavaScript can be difficult. This post covers how to ensure all object keys (IDs) are unique, and how to find non-unique values. | Continue reading


@joshcollinsworth.com | 4 years ago

Adding Gutenberg Full- and Wide-Width Image Support to Your WordPress Theme

Gutenberg brings with it the ability to set image blocks as full-width or wide-width. This article talks about how to enable support for that feature in your theme, and one way to write the CSS that makes it work. | Continue reading


@joshcollinsworth.com | 5 years ago

Let's Learn CSS Variables!

CSS variables (otherwise known as CSS custom properties) give previously impossible superpowers to CSS developers. This post covers what they are, how they work, and a couple of nifty ways you can implement them on your own website. | Continue reading


@joshcollinsworth.com | 6 years ago

New Site, New Theme for 2018

Building a WordPress theme (and a new brand) from scratch. | Continue reading


@joshcollinsworth.com | 6 years ago

Five Ways to Become a Better Designer (That Aren't Design)

There’s vast world of design learning and opportunity right in front of us constantly. All we need to do is take the time to notice it and learn from it. | Continue reading


@joshcollinsworth.com | 7 years ago

My Essential Tools for WordPress Development

Some of these apps, resources and tools aren’t directly WordPress-related, or even necessarily development-related; some have to do with productivity or just make life a little easier. That’s by design. Part of being a developer is learning to work and use your tools as efficient … | Continue reading


@joshcollinsworth.com | 8 years ago

The Five Things I Wish Somebody Had Told Me as a Design Student

Your worst instructor as a design student will lay out clear goals and expectations which will not change; this is not a given with clients. | Continue reading


@joshcollinsworth.com | 8 years ago

WordPress Child Theme Explanation and Walkthrough

When you’re just starting out with WordPress, it’s easy to think that you can just open up the style.css file included with your theme and begin making alterations. And that will work—at least for a while—but it won’t be a good idea… | Continue reading


@joshcollinsworth.com | 8 years ago

Why Designers Shouldn't "Fix" Other Designers' Logos

No matter how simple the end product, design is hard work. To come up with something that looks good, something people like, is at best tangential to the main point. The question is: does it succeed at meeting the project goals? And you don’t know how to answer that question. | Continue reading


@joshcollinsworth.com | 9 years ago

8 Mistakes to Avoid in Your Student Design Portfolio

Consider this post a guide on how to avoid the most common mistakes young designers make when assembling their portfolios. | Continue reading


@joshcollinsworth.com | 9 years ago

Profit is Not a Value

Any executive or business owner will say their company values integrity, and virtually every company claims that they reward and value their employees exhibiting their brand values. But is that really accurate? | Continue reading


@joshcollinsworth.com | 9 years ago

Understanding the Difference Between Image and Vector File Types

If you’re like me, you’ve probably spent some time wondering (and Googling) about the differences between various popular format types commonly used for graphic design applications. So I decided I’d create a resource that’s hopefully a handy reference on the matter of discerning … | Continue reading


@joshcollinsworth.com | 9 years ago