Soft Blade (Violeta Shabash) is an independent producer from Russia, currently based in the UK.
Musically, Soft Blade works across a range of electronic genres, blending ambient, house, techno, and dub into atmospheric compositions with ethereal vocals and detailed sound design.
Prints for the Zerkalo (2018) cassette
The visual direction is based on the aesthetic of Soft Blade’ s first album Zerkalo (2018). The music moves between Outsider House and Minimal Wave, with a cold, rhythmic, and pretty mystical atmosphere.
The first tests
At the beginning, I explored animated typography and generative lace-like structures.
In the 1nd test, I used a grid-based system with bezier () curves and a noise-driven field to generate a dynamic ornamental pattern. In the 2st test, the text was converted into points and animated with noise (), creating a flowing, dissolving effect.
[I] Generative ornament pattern [II] Animated text, converted into points. Background video: Soft Blade — Ostrov MV (2025)
Working on the poster
[I] The poster starts with a clean grid of «+» signs and static text, drawn using text () in a loop. [II] Then I added the wave at the bottom using beginShape () and curveVertex (), with sin () and noise () to create smooth, flowing lines.
[III] Finally, the silhouette is rendered on a separate graphics buffer (createGraphics) with image () and tint () for soft glow and transparency, completing the composition.
Composition development
The silhouette comes from the original cover image of Zerkalo EP (2018).
On the buffer, multiple copies are drawn with small offsets and scale changes, animated using translate (), scalePulse, and tint () to create a soft, ghost-like glow. A subtle texture is added with a grainBuffer and blendMode (OVERLAY), giving the silhouette a light, ethereal look without blocking other elements.
Silhouette development
The bottom wave is built with multiple layers using beginShape () and curveVertex (), adding sine and Perlin noise (noise ()) for natural movement.
The tracklist is placed along the wave and responds to mouse position (mouseX, mouseY) to glow using fill () with dynamic alpha.
Animated tracklist-wave
A cursor trail is drawn from recent mouse positions, stored in an array and rendered with curveVertex (), giving a soft animated line that follows the user’ s pointer.
Interactive elements
The final poster




