Profile pic

Strangely Typed

Software engineering blog by Adam Rackis

adamrackis

arackaf

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 Zustand  

July 21, 2025 on Frontend Masters

A quick introduction to Zustand, a simple, fun and effective state management library for React

Satisfies in TypeScript  

July 3, 2025 on Frontend Masters

Some quick coverage of one of TypeScript's less commonly used features: satisfies

Introducing TanStack Start  

December 18, 2024 on Frontend Masters

A high-level introduction to TanStack Start, featuring integration with react-query

Introducing Fly.io  

December 12, 2024 on Frontend Masters

An introduction to the Fly.io platform

Drizzle Database Migrations  

December 9, 2024 on Frontend Masters

Using Drizzle to manage and sync your database schema

Loading Data with TanStack Router: react-query  

November 21, 2024 on Frontend Masters

Integrating TanStack Router with react-query for rich, fine-grained data loading

Loading Data with TanStack Router: Getting Going  

November 20, 2024 on Frontend Masters

Using TanStack Router's built-in features to load, and invalidate data

Introducing TanStack Router  

September 13, 2024 on Frontend Masters

An introduction to TanStack Router, showing type-safe routing

Java Optionals  

August 30, 2024 on Frontend Masters

An introduction to Java Optionals

Fine-Grained Reactivity in Svelte 5  

August 14, 2024 on Frontend Masters

A deep dive into Svelte 5's fine-grained reactivity

Snippets in Svelte 5  

August 7, 2024 on Frontend Masters

An introduction to Svelte 5 Snippets

Introducing Svelte 5  

July 19, 2024 on Frontend Masters

An introduction to Svelte 5, covering the basics: state, props and effects

Introducing Drizzle  

June 17, 2024 on Frontend Masters

An introduction to one of the more unique ORMs out there: Drizzle

Testing Types in TypeScript  

June 4, 2024 on Frontend Masters

You 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  

May 24, 2024 on Frontend Masters

An introduction to React Query Components, and how to use react-query to streamline data loading

Prefetching When Server Loading Won’t Do  

May 15, 2024 on Frontend Masters

A guide to prefetching data for when server rendering isn't feasible, and streaming isn't available

Using Auth.js with SvelteKit  

April 29, 2024 on Frontend Masters

A guide to implementing authentication with Auth.js in SvelteKit

Caching Data in SvelteKit  

February 1, 2023 on css-tricks.com

A deep dive into the various ways data can be cached in SvelteKit

Getting Started With SvelteKit  

January 23, 2023 on css-tricks.com

An introduction to SvelteKit, a Svelte-based application Meta Framework

Using Web Components With Next (or Any SSR Framework)  

October 5, 2022 on css-tricks.com

A guide to using web components in application metaframeworks like Next

Introducing Shoelace, a Framework-Independent Component-Based UX Library  

October 4, 2022 on css-tricks.com

An introduction to Shoelace, a web component-based, ux component library

Swift - Encoding and decoding `Any`

July 12, 2022

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  

June 7, 2022 on css-tricks.com

An 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  

May 19, 2022 on css-tricks.com

Displaying image previews with Base64 encoding, and Blurhash

Syntax Highlighting (and More!) With Prism on a Static Site  

May 4, 2022 on css-tricks.com

A deep dive on integrating Prism with Next.js for code highlighting

Setting Up CloudFront to Host Your Web App  

April 28, 2022 on css-tricks.com

Hosting your entire web app with AWS Cloudfront

Adding CDN Caching to a Vite Build  

April 4, 2022 on css-tricks.com

Using AWS Cloudfront to serve static assets

Subsetting Font Awesome to Improve Performance  

February 17, 2022 on css-tricks.com

How to pick only the Font Awesome icons you want for smaller bundles

Demystifying TypeScript Discriminated Unions  

January 27, 2022 on css-tricks.com

Explaining TypeScript unions, and discriminated unions

Making a Site Work Offline Using the VitePWA Plugin  

January 18, 2022 on css-tricks.com

Diving deeper into Vite, and using the VitePWA plugin to improve your site's performance

Adding Vite to Your Existing Web App  

January 11, 2022 on css-tricks.com

A fun, painless introduction to Vite

React Suspense: Lessons Learned While Loading Data  

November 9, 2021 on css-tricks.com

A deeper dive into data loading with Suspense

The What, Why and How of DynamoDB

July 6, 2021

A high-level introduction to DynamoDB

Svelte for the Experienced React Dev  

May 21, 2021 on css-tricks.com

A high-level introduction to Svelte, from the perspective of an experienced React developer

Coordinating Svelte Animations With XState  

April 7, 2021 on css-tricks.com

An introduction to XState, for simplifying Svelte animation code

Svelte and Spring Animations  

January 8, 2021 on css-tricks.com

A deep dive into Svelte's spring animation features

Integrating TypeScript with Svelte  

December 28, 2020 on css-tricks.com

Manually adding TypeScript to a non-greenfield Svelte project

Pre-Caching Images with React Suspense  

September 21, 2020 on css-tricks.com

Using Suspense to block a component's rendering until its images have loaded

How to Use CSS Grid for Sticky Headers and Footers  

September 14, 2020 on css-tricks.com

A beginner friendly introduction to CSS Grid, with examples implementing sticky headers and footers

Making Sense of react-spring  

August 20, 2020 on css-tricks.com

Understanding how react-spring works, and how to leverage it for common animation use cases

Building Your First Serverless Service With AWS Lambda Functions  

May 29, 2020 on css-tricks.com

A beginners introduction to the Serverless framework

React Suspense in Practice  

March 19, 2020 on css-tricks.com

A practical, hands-on tutorial to React Suspense

Suspense Explained

November 14, 2019

A walk through of the family of React features commonly all referred to as "Suspense"

Wrangling useReducer, from action creators to typings

May 24, 2019

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

May 13, 2019

An introduction to loading css with webpack, and enabling css-modules, and SASS in the process

A Different Approach to GraphQL Caching

March 19, 2019

A tour of GraphQL caching with micro-graphql-react.

Hooks, State, Closures, and useReducer

March 9, 2019

A brief look at how useReducer can simplify your code, particularly with effects and closures.

Making Sense of Offline Web Development

March 8, 2019

Make your web apps work offline with Service Workers and IndexedDB.

New Beginnings

March 4, 2019

My first post on my new blog

Making your web app work offline  

December 7, 2017 on css-tricks.com

A gentle introduction to offline web development