
Aura Synth
A generative art platform where algorithms become creative instruments and every parameter tells a story.
Background
I wanted to build something where technology and creativity meet in a way that feels tangible. Not another tool that generates art for you, but a space where you are the one shaping the output. Where algorithmic rules become instruments you play with, and every tweak of a parameter changes the composition in real time.
Aura Synth came out of that idea. It’s a platform for creating generative visual art by manipulating algorithms directly. You pick an algorithm, adjust its parameters, choose your colors, and watch the canvas respond. Every piece is unique because every combination of inputs produces something different.
The Concept
The design philosophy was a deliberate collision of two aesthetics: Swiss design and cyberpunk. I wanted the structure, grid systems, and typographic clarity of Swiss modernism, but wrapped in the neon glow, terminal aesthetics, and raw-code energy of something out of the Matrix. The result is an interface that feels both precise and alive.
The core interaction is the Control Deck. You select one of three generative algorithms, each with its own set of tunable parameters. Perlin Field lets you sculpt flowing particle streams with noise and flow controls. Cyber Grid generates structured, glitch-inflected patterns. Nebula Particles simulates gravity-driven star fields with physics-based motion. Every slider changes the output in real time on the canvas next to it.
The Control Deck interface with algorithm selection, parameter sliders, and live canvas renderingThe Product
Aura Synth is a full-stack application. The frontend renders generative visuals using p5.js, a creative coding library that gives you a canvas and a draw loop. The backend runs on Node.js with PostgreSQL handling user accounts and saved compositions. When you create something you like, you save it as an “Aura” with a title, and it gets published to the global feed where others can see it.
Three Algorithms
Perlin Field, Cyber Grid, and Nebula Particles. Each produces a fundamentally different visual language with its own parameter set.
Real-Time Rendering
Every parameter change is reflected instantly on the canvas at 60fps. No waiting, no re-generating. You see what you build as you build it.
Global Feed
Saved Auras are published to an explore archive where anyone can browse the community’s creations and see the algorithms behind them.
User Accounts
Sign up with a username and PIN, save your work to your profile, and build a collection of generative compositions over time.
Explore Archive with live-rendered thumbnails for Perlin Field, Cyber Grid, and Nebula ParticlesThe Output
Every Aura is different. The same algorithm with slightly different parameters produces wildly different results. Here are some of my favorites from experimenting with the three algorithms.
Perlin Field — high noise scale, dense particle flow
Perlin Field — lower flow strength, organic wave patterns
Cyber Grid — large grid size, low distortion
Cyber Grid — small grid size, maximum distortion
Nebula Particles — gravity-driven orbital motion with high star countTechnical Details
The generative engine runs entirely client-side with p5.js. Each algorithm is its own module that takes a set of parameters and renders to a shared canvas element. Perlin Field uses noise-based vector fields to guide hundreds of particles along invisible currents. Cyber Grid lays down a structured mesh and applies distortion functions to break the uniformity. Nebula Particles simulates n-body physics with configurable gravity, friction, and star counts.
On the backend, Node.js handles authentication and CRUD operations for Auras. Each saved composition stores its algorithm type, full parameter set, and color values in PostgreSQL. The feed page queries these and re-renders each Aura’s thumbnail on the client by replaying the saved parameters through the corresponding algorithm. This means the art is never stored as an image. It is always regenerated from its DNA.
What I Learned
Building Aura Synth was my first time combining creative coding with a full production stack. A few things stayed with me.
Constraints make generative art better
Giving users every possible parameter would have been overwhelming. Curating the right set of controls for each algorithm was the real design challenge. The best outputs came from limiting the degrees of freedom, not expanding them.
Aesthetic conviction matters
The Swiss-meets-cyberpunk direction was a strong choice, and committing to it fully made the project feel cohesive. The bracket notation, terminal fonts, neon accents, and dark backgrounds all reinforce one another. Half-measures would have made it look confused.
Parametric storage is powerful
Storing art as parameters instead of pixels means every Aura takes up almost no space and can be re-rendered at any resolution. It also means the feed is alive. Each thumbnail is freshly generated, not a static screenshot.
Real-time feedback changes creative behavior
When users can see the canvas update as they drag a slider, they experiment more. They find combinations they never would have tried if they had to click “generate” and wait. Immediacy is a feature.