Hi, I'm Adam 👋
Welcome to my blog. I usually write about web development—the React or Svelte stacks in particular—or occasionally GraphQL, databases, or anything else I'm interested in.
Introducing TanStack Router Â
on Frontend MastersAn introduction to TanStack Router, showing type-safe routing
Fine-Grained Reactivity in Svelte 5 Â
on Frontend MastersA deep dive into Svelte 5's fine-grained reactivity
Introducing Svelte 5 Â
on Frontend MastersAn introduction to Svelte 5, covering the basics: state, props and effects
Introducing Drizzle Â
on Frontend MastersAn introduction to one of the more unique ORMs out there: Drizzle
Testing Types in TypeScript Â
on Frontend MastersYou already know you can unit test your code. But did you know that you can also unit test your advanced TypeScript types? This post walks you through it
Combining React Server Components with react-query for Easy Data Management Â
on Frontend MastersAn introduction to React Query Components, and how to use react-query to streamline data loading
Prefetching When Server Loading Won’t Do Â
on Frontend MastersA guide to prefetching data for when server rendering isn't feasible, and streaming isn't available
Using Auth.js with SvelteKit Â
on Frontend MastersA guide to implementing authentication with Auth.js in SvelteKit
Caching Data in SvelteKit Â
on css-tricks.comA deep dive into the various ways data can be cached in SvelteKit
Getting Started With SvelteKit Â
on css-tricks.comAn introduction to SvelteKit, a Svelte-based application Meta Framework
Using Web Components With Next (or Any SSR Framework) Â
on css-tricks.comA guide to using web components in application metaframeworks like Next
Introducing Shoelace, a Framework-Independent Component-Based UX Library Â
on css-tricks.comAn introduction to Shoelace, a web component-based, ux component library
Swift - Encoding and decoding `Any`
How to encode and decode json with concrete types, which include dynamic pieces typed as `Any`
Building Interoperable Web Components That Even Work With React Â
on css-tricks.comAn introduction to building web components, and then using them with JavaScript frameworks like Svelte and React
Inline Image Previews with Sharp, BlurHash, and Lambda Functions Â
on css-tricks.comDisplaying image previews with Base64 encoding, and Blurhash
Syntax Highlighting (and More!) With Prism on a Static Site Â
on css-tricks.comA deep dive on integrating Prism with Next.js for code highlighting
Setting Up CloudFront to Host Your Web App Â
on css-tricks.comHosting your entire web app with AWS Cloudfront
Subsetting Font Awesome to Improve Performance Â
on css-tricks.comHow to pick only the Font Awesome icons you want for smaller bundles
Demystifying TypeScript Discriminated Unions Â
on css-tricks.comExplaining TypeScript unions, and discriminated unions
Making a Site Work Offline Using the VitePWA Plugin Â
on css-tricks.comDiving deeper into Vite, and using the VitePWA plugin to improve your site's performance
React Suspense: Lessons Learned While Loading Data Â
on css-tricks.comA deeper dive into data loading with Suspense
The What, Why and How of DynamoDB
A high-level introduction to DynamoDB
Svelte for the Experienced React Dev Â
on css-tricks.comA high-level introduction to Svelte, from the perspective of an experienced React developer
Coordinating Svelte Animations With XState Â
on css-tricks.comAn introduction to XState, for simplifying Svelte animation code
Integrating TypeScript with Svelte Â
on css-tricks.comManually adding TypeScript to a non-greenfield Svelte project
Pre-Caching Images with React Suspense Â
on css-tricks.comUsing Suspense to block a component's rendering until its images have loaded
How to Use CSS Grid for Sticky Headers and Footers Â
on css-tricks.comA beginner friendly introduction to CSS Grid, with examples implementing sticky headers and footers
Making Sense of react-spring Â
on css-tricks.comUnderstanding how react-spring works, and how to leverage it for common animation use cases
Building Your First Serverless Service With AWS Lambda Functions Â
on css-tricks.comA beginners introduction to the Serverless framework
Suspense Explained
A walk through of the family of React features commonly all referred to as "Suspense"
Wrangling useReducer, from action creators to typings
A walk through of the various ways useReducer can be made more ergonomic, from simulating Redux-like action creators, to adding typings to vanilla `useReducer` via TypeScript.
Loading css, css-modules, and Sass with webpack
An introduction to loading css with webpack, and enabling css-modules, and SASS in the process
A Different Approach to GraphQL Caching
A tour of GraphQL caching with micro-graphql-react.
Hooks, State, Closures, and useReducer
A brief look at how useReducer can simplify your code, particularly with effects and closures.
Making Sense of Offline Web Development
Make your web apps work offline with Service Workers and IndexedDB.
New Beginnings
My first post on my new blog
Making your web app work offline Â
on css-tricks.comA gentle introduction to offline web development