Creative Engineering / Systems

pillowscream

An Experiment in Sharing Something Intimate

An experiment in what a submit form could be. You give one scream, and in return you get to hear everyone else's.

An Experiment

pillowscream is an experiment, and I hope it grows into a project and an exhibition for oake.

On the surface it's an app where you scream into a pillow. Underneath, it's a different approach to a submit form.

A Form That Gives Back

Most forms take something from you and give you a "thank you" page. You hand over your data and get nothing back.

Here, what you submit is something intimate: a scream. It can be rage, fear, a secret, a pain you have no word for, or pure joy. In return you get to be inside everyone else's. The form becomes a listening room, and the thing you gave becomes part of something you can hear and see.

I wanted to see what happens when giving something vulnerable is rewarded with connection instead of being harvested.

Why

When I play music and I scream, I feel relieved afterwards. It's catharsis. Screaming into a pillow shouldn't be something to feel ashamed of.

I'm not doing this for any gain. It's fun, it's explorative, and I love the idea of a place where you can feel heard and know that other people have screamed here too. You don't know who or why, and you don't need to. Everything online is left or right, black or white, with nobody really listening. This is a space where people only listen.

How it works

  • Grab a pillow. The booth walks you through it: say yes to the microphone, breathe in for three, scream for five.
  • Hear it first. Nothing leaves your device until you've listened back and chosen to release it.
  • One scream per person. No name, no account, no feed. Nobody is checking, and that's the point.
  • Take it back. Feeling different tomorrow? Record over it or remove it. It disappears from the archive for everyone, and you can give a new one whenever you like.

Listening

Each scream is drawn as fog with fine lines that surface when it sounds. Screams are pitched and warped so they land in tune with each other, and the same archive collides differently for every visitor.

When you open the page, the archive is frozen at that moment. You hear every scream given up to that second and none after, and the link reopens nearly the same collage.

Under the hood

  • Envelopes, not audio, for the visuals. Every scream's loudness shape is stored as a short string of digits (0–9), so the whole archive can be drawn without downloading a single audio file.
  • A rotating pool. Only a small pool of screams is loaded at a time. It slowly rotates through the archive, so the page stays light however large it grows.
  • Minor pentatonic warping. Playback is quantized so overlapping screams sit in a scale rather than clash.
  • A tiny, honest backend. A thin Node handler on Vercel, with Blob storage for the recordings and no caching, so taking a scream back really removes it.

What's next

I want the number of screams to grow, and I want people to interact with it, to remove theirs when they feel different, and to add a new one. If it finds enough voices, the next step is to take it out of the browser and into a room, as a project and exhibition for oake.

Made on my own time, when I should have been in bed.