Fullstack
29 articles · all categories
Latest Fullstack articles
October 2025
React, HTMX, and TanStack/Start
More and more UI frameworks are ditching JSON as the transfer protocol and going back to server-rendered markup injected into your app
August 2025
HTMX – Server Components without React
Let's be honest: Half the APIs you write are for a specific purpose in a specific component on a specific page. Re-usable in theory but you've never tried. That's where Server Components come in ... but what if your server isn't JavaScript?
May 2025
Why websites and webapps are different
The website vs webapp debate is at least as old as my career. And it keeps coming up. One camp says "React is too complex you don't need any of that", the other camp goes "I don't understand how you live like this". Both are right.
February 2025
A pattern for composable UI in Flask
Turn your unwieldy Flask codebase into manageable, composable fragments with this UI pattern. Very close to HTMX.
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.
November 2024
The anatomy of a React Island
A coworker asked how React Islands work and I realized it's a technique I've been using to modernize monolithic web codebases for years, but never wrote down how it works.
October 2023
A few thoughts on tRPC
Discover tRPC's potential in building end-to-end type safe RPC APIs in this insightful blog post. Perfect for developers seeking innovative solutions for server-client separation in webapp development.
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 ✌️
August 2022
Move your business logic into data
The quickest way to simplify a complex function with lots of logic is to turn it into data. A lesson from production
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?
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 2020
How JAMStack helps you ship
Common problem in engineering teams: Stepping on each other's toes. JAMStack can help.
September 2020
Why NextJS /api routes are fab – CodeWithSwiz 6
In this episode of CodeWithSwiz, we tried NextJS's support for /api routes – code running on the backend. In a word – Wow
August 2020
In 2020's, what is "frontend"? 🤨
"He's a frontend guy, is this even a fair question to ask?" The head of engineering was worried about our systems design question …
January 2020
How GraphQL blows REST out of the water
Let's have a look at hyow GraphQL makes queries so much easier and more pleasant than REST
It's never been this easy to build a webapp
We live in exciting times my friend. It's never been this easy to build a webapp and make your first $1,000/month.
October 2019
Is hot dog taco?
What if I told you modern tools let you build and launch a small webapp in 30 minutes? Complete with SSL, a .com domain, a database, a documented API, CDN hosting, fast static initial loads, and a hydrated SPA? That's the challenge I posed at Silicon Valley Code Camp this weekend. The audience didn't believe me, so it was time to perform some magic. 🧙
November 2017
How to add real web push notifications to your webapp
You've probably seen web notifications before. YouTube shows them when it goes to a new song, Facebook pings them when a new message comes in, scammy websites ask for permissions and you say no. The usual. You can fire those notifications from anywhere inside your JavaScript.
November 2016
How to waste hours of life with fetch() and a bit of brainfart
Both superagent and fetch() enable you to talk to a server. The first produces clean code that gets nesty if you need many things. The second produces clean code that is Promis-y and sometimes cumbersome. The difference between superagent and fetch() isn't that one sends your headers as-given and the other lowercases their names. The difference is that superagent sends a cookie and fetch() doesn't!