Build a desktop app called Lull.
ONE-LINE PITCH:
A beautifully minimal ambient music creator — no music theory, no instruments,
no experience needed. Just play, tweak, and lose yourself in sound.
TARGET USER:
- Age & context: Anyone from 10 to 60 — complete beginners with zero music
production or DAW/MIDI experience
- Pain point: Existing music software (Ableton, Logic, GarageBand) is
intimidating — full of jargon, knobs, and prerequisites that shut people out
before they even start
- Behavior: Casual computer user; may also use phone. Comes to Lull to relax,
explore, or create — not to produce a track for release
- Motivation: Drawn to ambient sound aesthetics; wants creative ownership
without a learning curve
- Key insight: The user should feel like they're playing with something alive,
not operating software
SCREENS TO DESIGN:
1. Ambient Composition Screen — Manual Mode
TOP BAR (left to right):
- Far left: App logo — white hexagon with slightly rounded corners, "Lull"
in Unica One typeface
- Center-left: Master volume dial with a speaker icon to its left
- Dead center: Play/Pause button (primary action — most prominent element)
- Center-right: Restart button (resets all values to default: All of the dial values to 5, and Set 3 sound sources to Ambient, Soft Pad, and Piano
- Far right: Record button — captures real-time audio output
MAIN CANVAS — 3 Hex Sound Channels:
Three equal-sized hexagonal boxes aligned horizontally in the center of
the screen. Each hex is a self-contained sound channel.
Inside each hex:
- 3 black balls of different sizes that bounce physics-based inside the hex:
· Large ball → low-pitch sound
· Medium ball → mid-pitch sound
· Small ball → high-pitch sound
- Each ball emits its sound when it collides with the inner wall of the hex
- Ball motion is continuous and physics-driven — always in motion when playing
Below each hex — Sound Source Dropdown:
Allows the user to choose the timbre/instrument for that channel.
Options: Ambient / Soft Pad / Saxophone / Piano / Pipe Organ / Chiptune / Noise (All of the sound level normalized)
Below the dropdown — 5 Adjustment Dials (per hex):
Dial UI: Circular knob, controlled by mouse drag up (increase) / down (decrease).
Label/Name appears above the dial by default; when actively adjusting, replace label
text with the current numeric value.
· Gravity (0–10): Higher = balls sink and stick to bottom.
Lower = balls float and bounce freely.
· Rotation (0–10): Controls hex rotation speed.
0 = stationary. 10 = fast spin.
· Balls (1–10): Number of balls active inside the hex.
· Roundness (0–10): Corner rounding of the hex shape.
0 = sharp corners. 10 = fully rounded (approaching oval).
· Glitch (0–10): Applies a vinyl-skip artifact to the sound.
0 = clean. Higher = more frequent, irregular skips.
2. Ambient Composition Screen — Auto Mode
IDENTICAL layout to Manual Mode with two differences:
- Sound source dropdowns are hidden
- All 5 adjustment dials are hidden
- The app automatically and slowly varies parameters over time,
creating an evolving ambient soundscape with no user input needed
- Hex balls and physics remain visible and active
MODE TOGGLE:
A Hex shape toggle switch is located directly below the play/pause button, below the top bar.
to switch between Manual / Auto. Label: " Auto"
TRANSITIONS & INTERACTIONS:
- Manual ↔ Auto toggle: Smooth ease-in/out fade. Dials and dropdowns
fade out gracefully — not a hard cut. Duration ~300ms.
- Dial interaction: While dragging a dial, hide its text label and show
the current numeric value in its place. Restore the label on release.
- Ball physics: Continuous, never robotic. Balls should feel alive —
slightly irregular, not perfectly looped.
- Sound on collision: Each wall-hit triggers the sound.
The visual bounce and the audio should feel in sync — no perceptible lag.
- Hover states: Dials and dropdown subtly highlight on hover.
No heavy outlines or shadows — just a gentle opacity shift.
KEY USER STORIES:
- As a user, I can press Play and immediately hear something beautiful,
so that I feel invited rather than overwhelmed.
- As a user, I can adjust the Gravity dial and hear the sound change in
real time, so that I feel a direct, tactile connection to the music.
- As a user, I can switch to Auto Mode and walk away,
so that Lull works as a passive ambient sound environment.
- As a user, I can choose a sound source per hex,
so that I can layer different timbres (e.g., Soft Pad + Piano + Noise).
- As a user, I can hit Record and capture what I've created,
so that I can keep and share my composition.
EMOTIONAL GOAL:
Lull should feel like picking up a snow globe — immediately beautiful,
tactile, and a little magical. The user should sense depth is available
without feeling pressure to find it. Easy to start. Rewarding to explore.
VISUAL DIRECTION:
- Aesthetic: Calm minimalism with quiet depth. Like a well-designed
scientific instrument — precise, clean, but warm. Not cold. Not clinical.
- Typography:
· Logo wordmark "Lull": Unica One
· All UI labels, dial values, dropdowns: Figtree
- Animations: Physics-based, organic. Never bouncy-cartoon, never
mechanical-linear. Ease curves should feel gravitational.
- DO NOT:
· No gradient backgrounds
· No skeuomorphic/physical dial imitation
· No drop shadows on the hex boxes
· No color-coded channels (keep all 3 hexes visually identical)
· No onboarding tooltips or tutorial overlays on first launch