After posting my Roses NFT to fx(hash), I've seen a sudden surge in Twitter followers and comments under my post.

One specific comment under one of my posts caught my eye.

This motivated me to pick this piece of art back up and start working on it.

Ultimately, it turned up on fx(hash) as Curtains NFT!

What are Curtains?

Curtains is an NFT project published on fx(hash) by me.

As I delved deeper into learning about flow fields, I came up with the first version of the project. The artwork is composed of a series of lines, with the first point of each line serving as an anchor that can be arranged in a straight line, sinus wave, or tangent function. The second point is calculated by determining the angle between the two points using Perlin noise.

Check it out on fx(hash):

How are they made?

Curtains are made using a grid of lines. Each grid element is a line, point A is the grid point, and point B is a cartesian coordinate calculated based on Point A, an angle calculated with Perlin noise, and an r representing the amplitude.

This is how we get an awesome effect on the curtains. It looks natural and cohesive while the elements are still connected in a straight line.

Here's the code:

const x1 = 10;
const y1 = 10;
const r = 5;
const angle = 30;

let x2 = x + r * cos(angle);
const y2 = y + r * sin(angle);


There are two main features of this NFT.

The first feature is the Color Scheme.  Ten different color schemes can be randomly selected using the random function.  Each color scheme has just two values, one for the background and the other one is the color of the lines.

The second feature is Variant.

There are three different variants:

  • Lines
  • Sinus
  • Tangents

Lines variant

The line variant produces a grid of straight lines.  Example:


The sinus variant is based on a sine wave.  Example:


The last variant is called tangents.  It's the same as the sinus, but based on the tangents:

Publishing the token

Unlike with the Roses NFT, I didn't struggle as much to figure out how to publish this token; this time, I already had a couple of tricks up my sleeve to be prepared for it.

I set the time on a random Thursday.  I closed my laptop and waited for it.

The token had 120 unreserved editions, and eight were reserved for me so I could give them to friends.

The transaction when I published the token:


So, it was the day of the mint!  I had many meetings lined up, and things were pretty stressful.  I had to facilitate an important meeting while, at the same time, the mint was going live.

I set the time for the mint to go live, but there was a catch...I forgot to hit the "ENABLED" checkbox before publishing the token.  During my facilitation meeting, my phone started buzzing.  I was getting bombarded on Twitter with, "Dude, where's the token?" I knew I had to act fast, so as soon as the meeting ended, I enabled the mint at 14:02:29 on 12th January.

Here is when I enabled the mint:
The time: 12th January at 14:02:29

And then, in 9 minutes, it was fully minted 🤯

Mint of edition #120, the last token that was publicly minted:
Time: 12th January at 14:11:14

I was stoked and still can't believe it happened so quickly.  In 9 minutes, the whole mint was sold out.

There is still a couple of mints that I have reserved myself, so a couple of days ago, I just minted them myself to keep them for safekeeping.


In conclusion, the journey from Roses NFT to Curtains NFT has been a thrilling and exciting experience for me.  The positive reaction and feedback from the community motivated me to start working on this piece, and the result has been amazing.  Curtains NFT is a creation of the community and me since, without the comment from @klabby_art on Twitter, I might've never pursued it!

The process of publishing the token was much smoother this time, and even though there was a hiccup with enabling the mint, it was quickly resolved, and the tickets were sold out in just 9 minutes.  I'm grateful for the experience and looking forward to what the future holds for my NFTs.

I hope you enjoyed reading through my journey.  Now onto the next thing 👀

How I published my second NFT project called Curtains