Blog Posts

Optimal Icons in Remix

Icons are everywhere. And yet very little thought goes into how to optimse their performance. In this post, we'll take a look at how the Epic Stack manages icons in Remix to provide an optimised user experience.

A Beginner's Introduction to Zod

Zod is a library that is quickly becoming an essential tool in any TypeScript codebase. In this article, we'll take a look at what it is and what makes it so powerful.

Authentication in Remix

As apps grow, almost all will need user authentication. Fortunately, Remix gives us tools to make this easy. In this post, we'll look at how we can add authentication to an app using Remix.

How React Works: What is JSX?

There are several aspects of React that can trip you up when first learning about it. In this post, we'll take a look at what JSX is behind the scenes and use it to explain some of React's quirkiness.

A Beginner's Introduction to Remix

Remix is an exciting framework released by the creators of React Router. But what is it, and why has it generated so much hype? In this post, we'll take a tour of Remix and explore its fundamental features.

The Why Behind React Hooks

React hooks have become foundational to modern React, but they often seem strange and over-engineered. In this post, we'll look at why hooks are needed. We'll then use that knowledge to help us better take advantage of them.

The Power of Nested Routes in Remix

Remix has been described as React Router taken to the next level. This highlights one of the most powerful features of Remix - nested routes. In this post, we'll look at what nested routes are and how they supercharge everything Remix does.

The Complete Guide to Dark Mode with Remix

Dark Mode can be surprisingly tricky to add with any framework. But Remix gives us some unique tools to deliver a fantastic user experience. In this post, we'll look at how Remix allows us to use the platform to provide a perfect theming solution.

5 Reasons To Use TypeScript

TypeScript has exploded in popularity in recent years. Despite initially being sceptical, I've learned to love it. In this post, we'll look at 5 reasons why I love TypeScript and recommend it for every new project.

My TypeScript Conversion

When I first heard about TypeScript, I was sceptical. However, over the course of 12 months, I was converted - I now think TypeScript should be used by default on every new JavaScript project. This is the story of what changed my mind.

Adding Dark Mode to an ElderJS Site

Creating a theming solution with a statically-built site is surprisingly hard. In this tutorial, we'll see how to build a flicker-free dark-mode for Svelte and ElderJS sites.

Data Fetching in Redux Made Easy With RTK Query

RTK Query is the latest addition to the Redux family, intended to make loading data from a server as easy as possible. In this post, we'll look at why I'm so excited for it, and answer the question "but why does redux care about data fetching?"

The Philosophy of Svelte

Svelte is one of the most exciting parts of front-end development today. But what is it, exactly? In this post, we take a look at the philosophy behind Svelte and see how it affects everything Svetle does.

Finite State Machines: The Developer's Bug Spray

Everyone hates bugs. Unfortunately, as codebases grow, it's easy for bugs to spread out of control. Fortunately, they can be brought back under control using psychology and a mathematical model from the 1950s.

The 6 Most Common Accessibility Problems (and How to Fix Them)

Accessibility is essential to provide a high-quality experience for all of your users. However, it can be easy for failures to slip into our applications. In this post, we'll look at the six most common accessibility problems and discuss why they matter and how they can be fixed.

Demystifying React Redux

One of the most common complaints when someone starts learning React Redux is that it's too magic. In this post, we'll be pulling back the curtain on React Redux to discover how it really works.

Drawing Lines with WebGL

Connecting points on a chart with a line is one of the most basic uses of a charting library. When drawing that line in WebGL, however, it's not as straightforward as you might think.

By the Hook: A Practical Introduction to React Hooks

Hooks are one of the most exciting features of React in recent times, allowing the developer to "hook" into React features without having to use class components. In this post, we take a dive into Hooks and learn how, when and why to use them.

4 things I learned to love about Swift

When first learning to develop in Swift, there were many cases in which I would become frustrated at some of its unique features. However, the more I learned about Swift, the more I realised these features weren't so crazy after all.