Blog & Articles by Joy Heron

Blog Post

Git Clarity: Building Meaningful Commits and Linear History

Feeling overwhelmed by Git’s complexity? Discover a streamlined workflow that centers on creating single, comprehensible commits. Learn how this approach leads to clearer code reviews, fewer merge conflicts, and a beautiful linear commit history that tells the story of your code. This isn’t just about Git commands—it’s about aligning your tools with how your brain works.

Blog Post

AI — Behind the Buzzword Garbage

Tired of AI hype? Me too. But beneath the buzzwords lies real value for developers. Tools like Claude Code save me hours on routine tasks, freeing me to focus on what matters: understanding problems and building the right solutions. It’s not magic—it’s practical support that makes development faster without replacing our core skills.

Blog Post

Custom Elements are NOT for Templating

Untangling the confusion between browser defaults and JavaScript component frameworks

Blog Post

Innovation in the web without sacrificing accessibility

We’ve truly stretched the boundaries of what is possible on the web. However, to do this we’ve sacrificed semantic HTML and made our applications inaccessible to a huge amount of different users. Instead of breaking the foundation of the web, we should consider this as an opportunity: how can we implement applications in a way that works for any user who might come along and want to interact with it?

Blog Post

Don’t tell me I’m not building a web application

How do we decide what technology stack that we want to use for any given project? Is it really based on how perfectly well suited the technology is to the problem at hand or do we really just want to use the technologies that we like and are comfortable with? I’m happy in my filter bubble, rendering web applications on the server and progressively enhancing them on the client. But I also recognize my bias. Do you?

Article

JavaScript? Yes, but in moderation

Classic Web Architecture for Applications

Blog Post

A Playground for Testing OpenID Connect

This post describes how you can set up a development environment in order to play around with your OpenID client implementation. When running your application in a cluster, it can be difficult to test how it will behave behind a load balancer. One factor that can be particularly difficult to test is when you are communicating with an OAuth 2.0 or OpenID Connect server which expects that a request will be redirected back to the same application instance that it came from.

Blog Post

The Power of the HTML Form

The HTML form is a powerful tool for telling a server what you want to do. But does everybody know how it works? With the multifarious JavaScript frameworks currently available today, software developers in the industry today often do not know how to create a web application without JavaScript. Is there an alternative? The web has been around for ages. What did people do before JavaScript?

Blog Post

Simplicity - Fighting Complexity At All Costs