Hey, I'm Rares Portan

I'm a web developer & designer living in Timisoara, Romania 🇷🇴. I prefer to code in JavaScript and I love simple and fast software 🚀.

Midjourney

Théâtre d’Opéra Spatial won the Colorado State Fair’s contest for “digital arts/digitally-manipulated photography” in 2022. There was nothin…

React Server Components

There is a lot of talk these days about React Server Components(RSC). Next.js has just announced that their support for React Server Compone…

The story of a REC button

Since I got the MacBook Air with the A1 chip I wanted to see if it can be used to do some AI work. So I’ve looked around for a small project…

10 ways to render a webpage

There used to be a new JavaScript library every day. That was fine, I didn’t care, I continued to implement my web apps using Angular or Rea…

ChatGPT for web developers

A.k.a. the clickbait of 2023 SUPER MASSIVE 100-page course on ChatGPT 421+ prompts, 56+ resources, $23455+ per month And for the next 24 …

Switching from Gatsby to Astro

I’ve switched my blog from Gatsby to Astro. It was not as easy as I dreamed. In fact, I had to wait for Astro v2 to be released to finally b…

Easy Sudoku solving techniques

In the first part of the Sudoku series, we built a Sudoku Solver. Next is the Sudoku generator: a program that can generate games of differe…

Sudoku Solver

I became interested in the Sudoku game after a failed opportunity to build it for a client. I’ve never played Sudoku before (I’m a video gam…

SolidJS Building Blocks

SolidJS is a library for creating web apps. Like React, Vue, Angular, and many others. So you might think: “Oh no, not another one, we have …

CSS units Cheat Sheet

Long gone are the days when we used to use only ‘px’ (pixels) in our CSS. Today there are a lot of options to choose from. What unit you cho…

A short intro to Partytown

It happens all the time. We try to optimize our code, optimize how images and CSS are loaded, do code splits, and all kinds of smart techniq…

Let's Learn JavaScript - Strings

Another important primitive data type is the String. Strings are composed of one or more characters and are used to keep words and texts. In…

Using XState with React

For a long time, Redux was the way to do state management in a React app. Bases on the Flux architecture, popularized by Facebook, it comple…

Migrate to Gatsby v3

I decided to migrate this website to Gatsby 3 and write here how it went. The first question is of course “Why you did it?” The main reason …

The <link> element

The <link> element is used to load an external resource in the HTML. Link elements are part of the page metadata and not inside the page’s v…

The future of code is no code

The future of coding is no coding at all.” - Chris Wanstrath, CEO at GitHub. Coding is my bread and butter, so what this means? Am I becom…

HTML Basics

Looks to me that many web developers, especially “full-stack web developers,” are not sure what is the correct HTML for a webpage and use di…

The <picture> tag

When Steve Jobs unveiled the iPhone in January 2007, few understood its implications on the web future. A couple of years later, millions ha…

Cyberpunk 2077 glitch effect

Note: This post is about a motion intensive CSS animation. The examples will not work if prefers-reduced-motion is set to reduce. Cyberpun…

Make me a Promise

Let’s start with a short story. A girl asks his father: Daddy are there people in space right now? The father doesn’t know but he promises h…

Using Fetch

For years, the default way to call APIs from a web page was XMLHttpRequest. But working with XMLHttpRequest was not easy, so on top of it we…

Building a COVID-19 tracker

Here in Romania, every day, at 13:00, the latest COVID-19 data is communicated to the public. The data is presented as a series of cold numb…

Hello, World!

Turns out there is good side to this pandemic situation we all have to live with in 2020: I finally have time to start a blog. I’ll write ab…