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 ๐ค