Stop staring
at your screen.
Your fingers need something to do.
Touch. Sound. Haptics. One grid.
iOS 17+ · Free

What is Soundfidget
A fidget toy.
On your phone.
Thousands of metallic dots fill your screen. Touch them and they react — physically, audibly, haptically. Every gesture creates a unique sensory response.
No score. No goal. Just an endlessly satisfying thing to play with.
Touch-driven physics
Dots react to your finger with spring-damped motion.
Real-time audio synthesis
Sound generated per-sample. No loops, no recordings.
Haptic feedback
Feel every dot crossing. Speed changes intensity.
Three ways to touch.
Each one different.
1Push — dots scatter away from your finger.
2Pull — dots gravitate toward your touch.
3Wave — concentric ripples radiate outward.
Switch modes in one tap. Each one changes the physics, the sound response, and the way it feels.
Four sound presets.
~Calm — soft sine + warm triangle pad.
::Rain — filtered white noise that swells on touch.
*Crystal — bell-like harmonics with detuned partials.
_Deep — sub-bass drone with saturated warmth.
All procedurally generated. No samples. Pure synthesis with reverb.
Built to feel good.
Every detail tuned for a satisfying sensory experience.
Metal powered
GPU compute shaders. Vertex, fragment, and physics — all on the GPU at 120 FPS.
Haptic engine
CoreHaptics transient + continuous. Intensity adapts to your finger speed.
44.1 kHz audio
AVAudioSourceNode per-sample synthesis. Four engines with reverb.
3 visual styles
Brushed steel, dark minimal, or reactive glow. Phong + Fresnel shading.
Under the
hood.
No game engine. No SpriteKit. No third-party dependencies. Built from scratch with Apple Metal and pure Swift.
Stack
Rendering → Metal instanced draw calls
Physics → GPU compute kernel
Audio → AVAudioEngine + SourceNode
Haptics → CoreHaptics advanced player
Instanced rendering
All dots drawn in a single draw call. Each dot is a textured quad with per-pixel hemisphere normals, Phong diffuse, and specular highlights.
Compute physics
Each dot is a thread in a compute kernel. Spring restoration, velocity damping, and touch forces run in parallel on the GPU every frame.
Per-sample synthesis
AVAudioSourceNode generates every sample at 44.1 kHz. Four synthesis engines — sine, noise, harmonics, sub-bass — with factory reverb.
Haptic grid
Transient taps fire as you cross grid cell boundaries. A continuous haptic underneath adapts intensity to finger velocity via dynamic parameters.
Fragment shader lighting
Each dot is shaded per-pixel as a 3D hemisphere. The light source follows your touch position. Three styles — brushed steel (specular + Fresnel rim), dark minimal (subdued diffuse), and glow (displacement-reactive cyan emission).
Three looks. One grid.
Brushed Steel
Phong shading with specular highlights and Fresnel rim. Metallic and tactile. The default.
Dark Minimal
Subdued diffuse and specular. Dots almost vanish into the background. Calm and understated.
Glow
Dots light up cyan based on displacement. Push harder, glow brighter. Reactive and alive.
Stop staring
at your screen.
App Store · Coming SooniOS 17+ · Free