Blog

Thoughts on software, the web, and engineering. Things I learned the hard way, and I want to understand better — originally published on dev.to.

READ COMMITTED isn't as safe as you think

Every Postgres app I've worked on runs at READ COMMITTED. It's the default. It's what your ORM opens...

6 min read · backend, database, postgres

When React says 're-render', it actually means three things

You call setState. React doesn't just update the DOM. It runs three separate phases, in...

4 min read · frontend, react, beginners

A real-time feature I built twice

Want to hear about a feature I built twice? I was working on a side project — a small dashboard I'd...

3 min read · webdev, websockets, sse

You're a Real Frontend Developer Only If...

I was roaming around dev.to the other day, not looking for anything in particular, when I kept...

2 min read · frontend, css, jokes

Should we use localStorage for storing auth token?

There are five places to store data in the browser. Most apps use two. The user's theme preference, a...

5 min read · webdev, cookie, localstorage

CSRF, and the cookie flag

<form action="https://bank.com/transfer" method="POST"> <input name="to"...

4 min read · webdev, beginners, frontend

What's actually going on with CORS, under the hood

CORS is one of those things every web developer runs into sooner or later. Most of us know how to fix...

6 min read · webdev, frontend, security

When dev and prod disagree about your CSS

This started right after we shipped a production release of our feature. One of our engineers was...

4 min read · css, frontend, nextjs