Insights into Serverless and modern backends

Learning from tutorials is great! You follow some steps, learn a smol lesson, and feel like you got this. Then you go into an interview, get a question from the boss, or encounter a new situation and o-oh.

Shit, how does this work again? ๐Ÿ˜…

That's the problem with tutorials. They're not how the world works. Real software is a mess. A best-effort pile of duct tape and chewing gum. You need deep understanding, not recipes.

I've been building web backends since ~2004 when they were just called websites. With these curated essays I want to share the hard lessons learned. Leave your email and get the Serverless and Modern Backend email series.

Latest Serverless and Backend articles from Swizec

August 2025

Quick tips for distributed event-based systems

Hidden lessons painfully learned over the years.

February 2025

I was wrong about databases

The best part about writing is that you get to learn new and exciting ways you were wrong. Databases are smarter than I thought!

*Why* the relational data model is so good

You've heard that array or list columns in a database are bad. But why? Yesterday it clicked for me

January 2025

Why you need a task queue

Task queues have been on my mind lately so here's a little primer on what they are, how they work, and why you need them when your project starts to grow.

December 2023

People like me are why you shouldn't run a hosting company

A daring adventure of manipulating GET parameters in a NextJS 14 project, pushing hosting limits and avoiding the need for data storage. Dive into the chaos of compressing inputs to keep the project delightfully storage-free.

March 2023

Are you annoyed by the extra space after your name [name|]?

Behind the scenes of a tiny bug that survive 919 days

January 2023

Async React with NextJS 13

We look at React's native async support and how to use it in a NextJS 13 app. Learn how to use async components, parallel loading states, and caching with React.js and NextJS 13.

October 2022

Why PATCH endpoints matter

A painful lesson from production that brought several engineers almost to tears: *Please* add PATCH endpoints to your public APIs.

Over-engineering tweet embeds with web components for fun and privacy

A way to embed tweets in static sites with full pre-renders and live updates using just 9kB of client-side JavaScript, 2 HTTP requests, and full reader privacy โœŒ๏ธ

June 2022

You are allowed to invent HTTP status codes

A fun problem for RESTful APIs: Did you get 404 because your URL is wrong or because the resource wasn't found?

May 2022

What microservices are for

Microservices are a pain in the ass. They turn every system into a byzantine mess of complexity. But this week ... they saved my butt.

April 2022

Promise.allSettled, a wonderful tool for resilient code

The pros and cons of different approaches to writing resilient code that handles partial failures

January 2022

Wow API Gateway v2 is fast

A story of how my performance hunch was totally wrong and the answer that sped up an AWS Lambda 33%

Using DynamoDB Streams with the Serverless Framework

DynamoDB Streams are a convenient way to react to changes in your database. And surprisingly easy to use ๐Ÿฅณ

December 2021

pg-mem and jest for smooth integration testing

The cult of TDD leads you down a dark and stormy path towards brittle code with a false sense of security. But there is a better way. A sweet spot between unit and heavy integration.

November 2021

Better tooling won't fix your API

RESTful APIs are like Agile โ€“ everyone does it differently and if it isn't working, it's your fault for doing it wrong. ๐Ÿคจ

October 2021

How to configure Jest with TypeScript

Using plain Jest on a TypeScript codebase is kinda rough. No types in tests no thanks. Making Jest and TypeScript work together smoothly is something you do just rarely enough to forget the details. Hope this helps you and future me too โœŒ๏ธ

August 2021

Build simple backends with Gatsby Serverless Functions

Until recently adding a little backend to your Gatsby site meant 2 options: 1. Climbing the AWS learning curve 2. Rewrite with NextJS Now there's an /api directory ๐Ÿ˜ฑ

April 2021

Serverless file upload to S3 with NextJS and AWS Lambda โ€“ CodeWithSwiz 27

The Girl loves her daily cute photos, but she's bored of repeats. What if adding images was easier ๐Ÿค”

March 2021

Your serverless questions, answered

When talk comes to serverless, engineers have lots of questions. Here are some answers ๐Ÿ˜Š

How do you know if serverless fits your project?

The hallmark of a true expert is understanding about the pros and cons of your technical decisions.

Serverless Handbook coming Mar 31st

Serverless is the future. New book coming out Mar 31st and it's looking bomb

Different medium, different mindset

Ever wondered what it's like to make a physical book? It ain't as easy as shipping code lemme tell ya ๐Ÿ˜…

Go full-stack in 5min with your first cloud function

How *do* you build a JavaScript function that runs in the cloud serverlessly? Here's how to get started with Vercel, Netlify, or AWS Lambda

Can you automate love?

What's the laziest thing you've ever built? For me it's a bot that sends cute pictures every day

If you can JavaScript, you can backend

When you think of a backend or server developer, who comes to mind? A wizard of arcane magics. The future belongs to full-stack frontend engineers.

That time serverless melted my credit card

Serverless is pretty cheap. But you *can* get it wrong.

Why serverless fits side-projects perfectly

How do you provision servers for no load most days THEN ALL THE LOAD THIS MINUTE? That's how side-projects work and it's hard

How a $12 AWS bill powers a $50k business

my point is that running server code on the web has become ridiculously cheap *and* easy

February 2021

Reverse engineer a GraphQL API to automate love notes โ€“ CodeWithSwiz 24

We used a man-in-the-middle attack to snoop an app's API traffic, replayed it in a GraphQL client, and successfully put it inside an AWS Lambda ๐Ÿค˜