64/64 minted

Project #29443

Published on

I was fortunate to grow up in a place with very little light pollution. The night sky filled with countless stars, the star formations, the slow movement over weeks and months and the occasional shooting star, became a constant source of fascination and admiration. If you have seen the Milky Way as a thick white band of millions of stars going from one end of the sky to the other, you know what I'm talking about.

Moving to the city to study and work largely came in the way of this fascination for many years. I did however pick up some astronomy classes at university to learn more about how everything works in outer space. The planet and star types, the supernovas, the foggy star nurseries and everything in between. Stargazing and admiring space events was still a favorite activity, but getting away from the light sources was tricky.

Fast forward a number of years, the pandemic hits. Out of the chaos and fear, a new world of remote work opportunities for software engineers appears. Moving more rural meant it was once again possible to admire the night sky in all its glory and gaze upon the vastness of space on a regular basis. And I discovered that it more or less looks the same as before, and still is just as amazing. There are few constants in life and that makes this one all the more important to me.


“s” - Save the output as JPG
On mobile, tap multiple times to trigger download.
“l” - landscape aspect ratio (default)
“p” - portrait aspect ratio
“o” - square aspect ratio
“1” - use default resolution (1200x750 px, to ensure that it renders fast enough)
“2” - increase resolution to 2560x1600 px
“3” - increase resolution even more, to 5120x3200 px

URL parameters:
“ratio=0.625” - Specify aspect ratio, default is 16:10 (value 0.625) which is landscape mode. Useful values here are 1 (square) and 2 (portrait mode), but any value can be used.
“w=1200” - Specify width in pixels, defaults to 1200px. Height in pixels is calculated based on width and the “ratio” parameter. Default height is 750px based on aspect ratio 16:10. Higher values for “width” take longer to render.
“pd=1” - Specify pixel density, defaults to 1.


This project would not have been possible without the encouraging support of my wife and my friends in the Angels Wing community. Thank you so much for cheering me on, helping with testing + debugging and being a great sounding board for the countless WIPs!


Made with p5.js. Draws to offscreen buffers and resizes them when displayed on screen, inspired by a great blog post by Gorilla Sun. Default buffer size is 1200x750 px to ensure it renders fast enough. It’s easy to override buffer size using keyboard shortcuts and URL parameters to get a higher-resolution output.

This work is licensed under CC BY-NC-SA 4.0.

Price3Minting opens(0)Royalties15.0%(6)Tags