Petr Tcoi skills

Petr Tcoi Official Website

My name is Petr. I am a self-taught Full Stack developer with over 6 years of commercial experience.
Create websites using React, NextJS, Typescript, TailwindCSS, and other modern technologies. I am also familiar with the basics of backend development using NodeJS, Express, MongoDB, PostgreSQL and Firebase.
contact me


NextJS API + React Query + Zod = type safety
One of the advantages of Next.js is the ability to combine frontend and backend within a single project and use shared types and interfaces. Unfortunately, the server-side part of the framework operates independently from the frontend, functioning as a largely standalone application. Therefore, ensuring type safety requires additional effort. In this article, I will share my experience in addressing this issue.
read more:
My experience with FSD (Feature-Sliced Design) architecture.
In this article, I want to share my experience of developing applications using the FSD (Feature-Sliced Design) approach.
read more:
State management with Astro and @nanostores
My first experience with Astro. A simpler and more efficient alternative to NextJS for small websites.
read more:
Performance of the spread operator
A brief analysis of the performance of the spread operator and possible alternatives.
read more:
Functional Programming with fp-ts Library
A brief introduction to the fp-ts library. Practical example breakdown with the use of TaskEither / Either.
read more:
A little bit of Ramda for React and Redux
A brief overview of possible ways to use Ramda with React/Redux. My first experiments with this library.
read more:
Testing with Storybook !!
The final article on testing. Basic setup of Storybook. Connecting the theme selector. Visual testing using Chromatic.
read more:
Testing with Playwright !
Continuation of testing the site. More accurate checking of the sidebar menu and theme change using the Playwright framework. Testing website interactions, snapshot tests, and checking whether elements appear in the visible area of the screen.
read more:
Testing with @testing-library
Configuration and implementation of unit tests and integration tests using the testing-library library. The functionality of the buttons to open and close the sidebar menu has been checked.
read more:
Changing theme via CSS variables
Demonstration of changing the theme via CSS variables and manipulating the DOM: setting the data-theme attribute for the tag. Also, smooth transition is added when changing the color scheme of the site using the transition property.
read more: