A neural network background: nodes drifting on their own paths, joined by lines that fade out with distance, and a brightness pulse travelling outward through the links from one node at a time. The pulse is what makes it read as a network rather than a drifting particle field.
It is driven by a numeric seed. Change the seed until you like the composition, and that composition is the one that loads every time, for every visitor, on every reload. Backgrounds built on an unseeded random source cannot promise that, which is why they look different in the screenshot you approved and on the live site.
Bring a pointer near it and nearby nodes lean toward the cursor while their links brighten. Set pointer pull to zero and the listener is never attached at all.
Node count, speed, link distance, pointer pull and radius, the pulse, node size, link width, every colour, corner radius and opacity are property controls.
Drawn on a canvas inside the component: no WebGL, no library, nothing fetched. It sizes itself to whatever frame you drop it in, caps its pixel ratio, keeps the nodes sorted so the link pass stops early instead of testing every pair, and allocates nothing inside the animation frame. In the Framer canvas it draws one still frame from the seed, and a visitor who has asked for reduced motion gets that same still frame with no loop running.
After purchase you receive the component URL. In Framer, press Insert, choose Add Component URL, and paste it.
Licence: yours to use on your own sites and on client sites, commercially, with no attribution. Not for resale or redistribution: do not share the component URL, and do not publish the component or its code anywhere, paid or free. Full terms arrive with your purchase. Questions: me@majedesigns.dev
A neural network background: nodes drifting on their own paths, joined by lines that fade out with distance, and a brightness pulse travelling outward through the links from one node at a time. The pulse is what makes it read as a network rather than a drifting particle field.
It is driven by a numeric seed. Change the seed until you like the composition, and that composition is the one that loads every time, for every visitor, on every reload. Backgrounds built on an unseeded random source cannot promise that, which is why they look different in the screenshot you approved and on the live site.
Bring a pointer near it and nearby nodes lean toward the cursor while their links brighten. Set pointer pull to zero and the listener is never attached at all.
Node count, speed, link distance, pointer pull and radius, the pulse, node size, link width, every colour, corner radius and opacity are property controls.
Drawn on a canvas inside the component: no WebGL, no library, nothing fetched. It sizes itself to whatever frame you drop it in, caps its pixel ratio, keeps the nodes sorted so the link pass stops early instead of testing every pair, and allocates nothing inside the animation frame. In the Framer canvas it draws one still frame from the seed, and a visitor who has asked for reduced motion gets that same still frame with no loop running.
After purchase you receive the component URL. In Framer, press Insert, choose Add Component URL, and paste it.
Licence: yours to use on your own sites and on client sites, commercially, with no attribution. Not for resale or redistribution: do not share the component URL, and do not publish the component or its code anywhere, paid or free. Full terms arrive with your purchase. Questions: me@majedesigns.dev