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.
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