Rahul Mourya, full stack engineer, smiling in a navy blazer

Full stack engineer, 7+ years

Hi, I'm Rahul. I build web apps people actually use.

Polished React and Vue front ends, the Python and Node.js APIs behind them, and the AWS infrastructure they run on. Right now that means React and MUI on the front, Python on AWS Lambda behind it, and Terraform holding the infrastructure together.

I care about what makes a web experience feel fast and obvious. Off the clock you will find me deep in a video game or drawing vector illustrations, which I post as @archive.sketch.

  • React
  • Next.js
  • Vue
  • TypeScript
  • Python
  • AWS

Live apps, not screenshots of dead repositories.

All projects

From the blog

One problem per post, with a working example.

All posts
  • React2 min read

    You pushed to the array and nothing rendered

    React compares state with Object.is, so changing an array or object in place looks like no change at all. Here are the copy patterns, including the one for nested data.

    • state
    • immutability
    • rendering
  • React2 min read

    Error boundaries do not catch the errors you expect

    Event handlers, async code, and the server are all outside an error boundary. Here is what it does cover, and how to handle the rest without a white screen.

    • errors
    • boundaries
    • resilience
  • React2 min read

    One context is re-rendering your whole app

    Context has no selectors. Every consumer re-renders when the value changes, even the ones using a field that did not. Splitting the context fixes most of it.

    • context
    • performance
    • state