← Back
Aura Synth — generative art control deck

Aura Synth

A generative art platform where algorithms become creative instruments and every parameter tells a story.

RoleSolo Developer, Designer
Stackp5.js, Node.js, PostgreSQL
TypePersonal Project
StatusLive
01

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.

02

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.

Aura Synth control deck with Perlin Field algorithmThe Control Deck interface with algorithm selection, parameter sliders, and live canvas rendering
03

The 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 AurasExplore Archive with live-rendered thumbnails for Perlin Field, Cyber Grid, and Nebula Particles
04

The 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 — flowing purple and teal particle streamsPerlin Field — high noise scale, dense particle flow
Perlin Field — deep blue-purple swirling currentsPerlin Field — lower flow strength, organic wave patterns
Cyber Grid — scattered neon rectangles on blackCyber Grid — large grid size, low distortion
Cyber Grid — dense purple-white squares with high distortionCyber Grid — small grid size, maximum distortion
Nebula Particles — spiraling galaxy of teal and purpleNebula Particles — gravity-driven orbital motion with high star count
05

Technical 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.

06

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.

3Generative algorithms
60FPS real-time rendering
10+Tunable parameters
Possible compositions