jpesewang.dev
HomeProjectsBlogContact
Back to Home

Blog

Thoughts, tutorials, and insights about software development, technology, and best practices.

Featured Articles

From Zero to Scalable: Building a Test Automation Framework with Playwright
Leif Le
Invalid Date
15 min read
From Zero to Scalable: Building a Test Automation Framework with Playwright
When people talk about automation testing, they often think about “writing some scripts with Playwright or Cypress”. But in real projects, automation is not just about scripts. It’s about building a testing framework that is scalable, maintainable, and reliable. Playwright is the engine. The framework is how you design everything around it. In this blog, I’ll share how I use Playwright to build a testing framework from scratch, and why concepts like Page Object Model and Data-Driven Testing are essential.
TestingPlaywrightSDET
From Build to Runtime: How to Optimize Every Layer of a Next.js App
Leif Le
Invalid Date
20 min read
From Build to Runtime: How to Optimize Every Layer of a Next.js App
Building a Next.js full-stack app is easier than ever — but building one that’s fast, scalable, and efficient is another story. As projects grow, performance bottlenecks, slow builds, and bloated APIs can creep in, hurting both user experience and developer productivity. In this guide, we’ll walk through the most effective optimization strategies for modern Next.js full-stack applications — from smarter data fetching and caching, to build optimization, image handling, and backend tuning. Whether you’re shipping to production or scaling for thousands of users, these best practices will help you keep your app lean, maintainable, and lightning-fast.
NextJS
100+ React Interview Questions Straight from Ex-interviewers
Leif Le
Invalid Date
59 min read
100+ React Interview Questions Straight from Ex-interviewers
Preparing for a React interview can be daunting, but having access to the right questions can make all the difference. We've created a prioritized list of the top 100 questions and solutions, covering essential topics like React fundamentals, React Hooks, React Router, internationalization in React, and testing of React apps.
ReactInterview
How React re-render? React reconciliation
Leif Le
Invalid Date
25 min read
How React re-render? React reconciliation
React provides a declarative API so that you don’t have to worry about exactly what changes on every update. This makes writing applications a lot easier, but it might not be obvious how this is implemented within React. This article explains the choices we made in React’s “diffing” algorithm so that component updates are predictable while being fast enough for high-performance apps.
ReactJS
TypeScript for Frontend Dev Interviews
Leif Le
Invalid Date
25 min read
TypeScript for Frontend Dev Interviews
Both interface and type can describe the shape of an object, but there are some differences:
Typescript
Redux best practice in modern React
Leif Le
Invalid Date
15 min read
Redux best practice in modern React
Let’s go step by step so you deeply understand Redux and then we’ll implement it in a Next.js + TypeScript project for a profile feature.

All Articles

Practical Frontend Optimization – Batching, CSS Sprites & Real-World Performance
Leif Le
Invalid Date
10 min read
Practical Frontend Optimization – Batching, CSS Sprites & Real-World Performance
Performance isn’t about “micro-optimizing everything.” It’s about reducing unnecessary work — fewer requests, fewer re-renders, fewer layouts. Today I’ll walk through 3 practical optimization techniques I actually use in production: Request batching CSS Sprites Rendering & state batching
Making Figma Come Alive: The Art of Micro-Interactions in Front-End
Leif Le
Invalid Date
10 min read
Making Figma Come Alive: The Art of Micro-Interactions in Front-End
When you first start building user interfaces, it’s all about structure — layout, logic, data. But as you grow, you realize that a great interface isn’t just built — it breathes. Recently, I got feedback from my lead: “Add more animation and transitions. Make the Figma come alive.” That sentence hit me hard — not because I wasn’t doing my job, but because it reminded me that frontend isn’t only about functionality; it’s about feeling.
FrontendUI/UX
React/Next.js naming conventions for clarity and scalability.
Leif Le
Invalid Date
5 min read
React/Next.js naming conventions for clarity and scalability.
Naming conventions matter a lot in Next.js and modern frontend projects for clarity and scalability. Here’s a quick breakdown of the best naming conventions used in real-world Next.js + TypeScript projects
MCP vs API – What’s the Difference?
Leif Le
Invalid Date
25 min read
MCP vs API – What’s the Difference?
Large language models (LLMs) are powerful, but they don’t operate in isolation. To be truly useful, they need to interact with external data, services, and tools — whether that means fetching real-time information, executing commands, or integrating with existing software. For years, the standard way to connect software systems was through APIs (Application Programming Interfaces). But in late 2024, Anthropic introduced a new protocol specifically designed for AI: the Model Context Protocol (MCP).
Authentication Strategies in Modern Web Applications
Leif Le
Invalid Date
20 min read
Authentication Strategies in Modern Web Applications
Authentication is at the core of every modern web application. Whether you’re building an e-commerce platform, a SaaS product, or an internal dashboard, ensuring secure and seamless login experiences is critical. Today, we’ll explore common authentication strategies—JWT, OAuth, and SSO—and break down how tokens flow from frontend (FE) to backend (BE) in practice.
AuthenticationSecurity

Stay Updated

Subscribe to get notified about new articles and updates.