Przemek Franczak
TypeScriptReactjavascriptSystem design
Union, intersection types in TypeScript. What they are and when to use them.

April 10, 2025 - 1 minute

Union, intersection types in TypeScript. What they are and when to use them.

TypeScript provides two incredibly powerful tools for building expressive type systems: unions and intersections. They’re often misunderstood or seen as “advanced,” but once you get the hang of them, they’re essential for modeling real-world data structures cleanly and safely. Let’s explore how they work, when to use them, and how to level up your type game with more advanced patterns like discriminated unions and type narrowing.

Learn more
State in React - how to deal with it?

April 5, 2025 - 3 minutes

State in React - how to deal with it?

One of the most critical aspects of designing an app in React (and generally) is choosing a proper option for managing state. Should we use useState, useContext, Redux or maybe something else? Let's dive deeper into the topic and learn the differences.

Learn more
The difference between ?? and || in TypeScript

April 1, 2025 - 2 minutes

The difference between ?? and || in TypeScript

Since both operators can be used to achieve similar results, sometimes people confuse them and don't know the difference or when to use one. Let's dive into the topic and settle it once for all.

Learn more
Horizontal vs vertical scaling

April 17, 2023 - 2 minutes

Horizontal vs vertical scaling

Let's dive deeper into system scalability. Discover the differences between horizontal and vertical scaling based on a simple example.

Learn more
Strict mode

October 17, 2022 - 1 minute

Strict mode

The strict mode was introduced in ECMAScript 5 as an opt-in mechanism. It helps developers write safer code by providing several really useful changes to normal JavaScript semantics. However it has some cons as well...

Learn more
Backwards and forwards compatibility

October 10, 2022 - 2 minutes

Backwards and forwards compatibility

Do you know what backwards and forwards compatibilities are? Do you know which one of them is JavaScript and which one - HTML? Do you know what are the consequences? Let's find out!

Learn more
Micro- and macrotasks. Event loop.

October 5, 2022 - 2 minutes

Micro- and macrotasks. Event loop.

You probably know that the JS engine is single-threatened, but still, the browser is not blocked when you make, e.g. an AJAX call. Have you wondered why? Let's go deeper into the async world in JS and discover the differences between micro and macro tasks.

Learn more
Use React children props

September 30, 2022 - 1 minute

Use React children props

You can render children components in a parent in different ways in React. One of them is a special prop called props.children. Check what's the difference between it and passing components with custom props.

Learn more