Back to all posts
30-part series

The React Playbook

One long path, not a pile of tips. It starts at an empty folder and ends with a React app in production — and every stop along the way is a real decision you have to make. Read it in order, or jump to the phase you’re fighting with right now.

Start from #1 →

Infrastructure

6 articles

Auth, a backend, rendering, a database, hosting, and tests that keep it honest.

  1. 1313 min read

    Authentication in React: Buy It, and Where the Line Really Is

    Auth looks like a login form and turns out to be an architecture decision. Where do tokens live, who guards a route, what happens when the session dies mid-request? Here's why I buy auth instead of building it, and the parts that stay yours no matter what you buy.

  2. 1413 min read

    The Backend a React Developer Actually Needs to Understand

    You don't have to write the server. But the shape of the contract between your React app and the backend — REST, tRPC, or a BFF — decides how much of your frontend is real work versus glue code. Here's the part of the backend that's actually yours.

  3. 1513 min read

    SSR in React: What TanStack Start Actually Changes

    Server rendering isn't a performance checkbox — it collapses the wall between frontend and backend into one framework. Here's what SSR really buys you, why the client/server line stops being where you think it is, and where TanStack Start fits next to Next.js.

  4. 1612 min read

    Databases for React Developers: What Serverless Actually Changed

    "Add a database" used to mean provisioning a server, managing connections, and running migrations by hand. Serverless quietly rewrote that whole sentence. Here's what a React developer actually needs to know about picking and using a database in 2026.

  5. 1711 min read

    Hosting a React App in 2026: From DevOps Project to Git Push

    Deployment used to be a separate discipline — servers, pipelines, a person whose whole job was getting code to production. Modern platforms compressed it into a git push. Here's how to think about hosting a React app, what the tiers actually mean, and where the magic stops.

  6. 1813 min read

    Testing React Without Drowning: What Each Test Actually Buys You

    Most testing advice is either "100% coverage" zealotry or "tests slow you down" cynicism. Both miss the point. A test is a trade — effort now for confidence later — and the skill is knowing which trades pay off. Here's how I test React without a brittle suite that everyone hates.

Advanced Topics

7 articles

The features that turn a project into a product — and the ones people underestimate.

  1. 1913 min read

    AI in a React App: Past the Demo, Into the Product

    The demos are intoxicating — a chat box, a streaming response, thirty lines of code and it feels like magic. Then you try to ship it and the hard parts show up all at once: streaming UI, structured output you can trust, state that doesn't fight you. Here's what building AI into a real React app actually takes.

  2. 2012 min read

    Real-Time React: When the Server Has Something to Say

    Every data pattern so far has the client asking and the server answering. Real-time inverts that — the server speaks first, and your UI has to be listening. The mistake is treating that live connection as a second, parallel source of truth. Here's how I keep a React app live without ending up with two states that disagree.

  3. 2112 min read

    Internationalization Isn't Translation: What Actually Breaks

    Everyone thinks i18n means swapping English strings for a dictionary lookup. That's the 10% that's easy. The 90% is formatting, pluralization, text that changes direction, and language data you can't afford to ship all at once. Here's what internationalizing a React app actually involves once you get past the word 'translation'.

  4. 2212 min read

    Payments in React: The Client Never Decides You Got Paid

    Taking a payment looks like a form submission and is nothing like one. The card number is radioactive, the confirmation is asynchronous, and the one thing your React app must never do is believe it got paid because a callback said so. Here's where the real line sits between the browser, your server, and Stripe.

  5. 2311 min read

    Time in React: The Bugs That Only Show Up at 2 AM

    Dates look like the most boring data type in your app. They are also the source of the subtlest, most embarrassing bugs — the meeting that shows an hour off, the 'today' that's tomorrow in Tokyo, the date that shifts a day every time you save it. Here's how I stop time from quietly breaking a React app.

  6. 2412 min read

    File Upload in React: The Input Is Easy, the File Is Not

    An upload looks like a one-liner — a file input, a POST, done. Then someone uploads a two-gigabyte video on hotel wifi and the whole illusion collapses. The hard part was never the input. It's moving a large, unreliable blob of bytes from a browser to somewhere it can live. Here's how I actually handle it.

  7. 2511 min read

    Sending Email from a React App: A Backend Problem in Disguise

    "Just send them an email" is one of those sentences that sounds like a five-minute task and turns into a week. The React part is trivial. The hard part is that email is a deceptively deep backend system with deliverability, templates, and reputation — and none of it belongs in your frontend. Here's where the real work actually is.

Ecosystem

5 articles

Where React goes beyond the browser — design, docs, desktop, mobile, and 3D.

  1. 2611 min read

    Design Prototyping for React: Where the Architecture Actually Starts

    Most engineers treat the Figma file as a picture to reproduce. That framing is why so many handoffs go badly. A good design isn't a picture — it's the first draft of your component architecture, and the decisions that decide whether your codebase stays sane are made before a single line of React is written.

  2. 2711 min read

    Documenting Components: The Only Docs That Don't Rot

    Every team writes component docs the same way — a wiki page, a screenshot, a table of props — and every team watches them go stale within a month. The problem isn't discipline. It's that the docs live in a different place than the code. The fix is docs that can't drift because they're generated from the component itself.

  3. 2811 min read

    React on the Desktop: When a Window Beats a Tab

    The pitch is irresistible — ship your React app as a real desktop program, same code, native icon in the dock. Electron and Tauri both promise it. But the interesting question isn't 'can I,' it's 'what do I actually gain that a browser tab can't give me,' and the answer decides which tool, and whether you should bother at all.

  4. 2912 min read

    React Native: What 'Learn Once, Write Anywhere' Really Means

    React Native's promise gets misremembered as 'write once, run everywhere' — and that misremembering is why so many web developers hit a wall. The knowledge transfers; the code and the instincts often don't. Here's the honest line between what your React experience buys you on mobile and what it quietly doesn't.

  5. 3011 min read

    React in 3D: When <div> Becomes <mesh>

    The idea that React could render a 3D scene sounds like a stretch — React is for interfaces, 3D is a different universe. Except it isn't a stretch at all, and understanding why closes out this whole series with its central idea: React was never really about the DOM. This is where that finally becomes obvious.