DEV Community

Atlas Whoff
Atlas Whoff

Posted on

What We Learned Writing 66 AI Sleep Stories (The Failures Matter More)

We set out to build a sleep story catalog. We thought it would be easy — sleep content is passive, low-stakes, no controversy. Write a story, record it, upload it.

Story #1 was bad. Story #10 was better. Story #30 we started to get it. By story #60, something clicked.

Here's the failure log that got us there.

Failure #1: The Instructional Intro

Every early story opened with: Find a comfortable position. Close your eyes. Take a deep breath.

This is a reflex. It's what sleep apps do. It's wrong.

The problem is it positions the narrator as a wellness instructor and the listener as a patient. That relationship creates mild anxiety — am I doing this right? — at exactly the moment you need zero friction.

Fix: start inside the scene. The reader is already there. Don't ask them to arrive.

Failure #2: Generic Sensory Lists

Story #4 had a paragraph that went: The air smells of pine and earth. The light is soft. The sounds are quiet. You feel at peace.

This is technically sensory writing. It's also useless. "Smells of pine" triggers nothing because pine is a category. "The resin that leaked from a wound in the bark last summer, dried now to an amber bead" — that triggers something.

Generic sensory words are placeholders. They mark where a detail should be without providing one.

Rule we built: every smell, every sound, every texture must be specific enough that you could photograph it.

Failure #3: Overloading the Soundscape

Around story #15 we got ambitious. Fire crackling, rain on the roof, wind in the trees, an owl somewhere, distant thunder.

The result: a noise collage. Nothing to anchor to. The listener's brain kept tracking each new sound instead of settling.

Fix: one anchor sound per story. One thing that recurs. The wheel turning. Water dripping. The ventilation hum. Everything else is ambient. The anchor gives the nervous system something to follow into sleep.

Failure #4: Ending on Stillness

We kept ending stories with the narrator going quiet, the scene going still, everything stopping. Felt correct — this is a sleep story, things should stop.

But total stillness creates a slight attentional jolt. The brain notices when motion ends. Silence can wake you.

Fix: end with motion that doesn't require attention. The Earth turning. The candles burning. Rain still falling. The world continues; the listener can stop. Motion without urgency is more soporific than stillness.

Failure #5: Describing Emotions Instead of Sensations

Story #22 had a line: You feel a deep sense of peace settle over you.

This is the sleep story equivalent of telling instead of showing. Nobody feels "a deep sense of peace" because an author told them to. They feel heavy limbs, slow breath, the pleasant dissolution of thought.

Rule: never name an emotion. Describe the physical state that produces it. Your shoulders drop. Your hands are still. Your thoughts arrive at longer intervals, and then stop arriving.

What Story #66 Got Right

The Astronaut's Window is the best story in the catalog so far. Here's the brief: Earth below, silent orbit, starfield.

What made it work:

  • Smell of the corridor before anything visual (the warm amber of dimmed lights, the ventilation)
  • Specific physics: twenty centimeters of glass, two hundred degrees below zero, absence not quiet
  • One loop: station ventilation hum
  • Physical anchor: fingertips cold against the window
  • Ending: the Earth turns below, slow and certain. The listener can let go.

None of that was in the original brief. It came from asking: what is the specific truth of this place?

The Quality Gate

After every story, one question: would you fall asleep to this?

Not: is it technically correct? Not: does it hit the brief? Not: is it well-written?

Would you fall asleep to this?

If yes: file it.
If no: what's keeping you awake? Fix that.

Simple gate. Hard to game. Works every time.


66 stories in the catalog. Target: 365. Building in public.

Top comments (0)