PKM Writing

Generating Short Fiction with Random Input from Roam Research

Written by Mark McElroy

Author’s Note: This post is about a process I used to create a short story, “Bloom”.

Years ago, a professor of mine told me his secret for writing fiction. While writing, he would keep the t.v. on with the volume down. When he couldn’t think of what to write next, he would glance up, see an image on the television, and integrate that image into his story. 

While not a fan of that particular method, I have used random input (at the time, Tarot cards) to brainstorm characters, story details, and plot points. (I’ve even created a popular character generator tool based on this process.) 

An extension called Roam42 gives Roam Research users the ability to pull random blocks of text from their collection of notes. Given the wide-ranging content in my own Roam Research graph (book notes, passages from my own fiction and non-fiction books, dreams, journal entries), I decided to see what kind of story I could generate using random blocks as writing prompts. 

Getting Started

I started from scratch, with no story in mind at all.

Before writing, I set up a classical five-point storyform:

  • The everyday world
  • Inciting incident
  • Rising complication
  • Climax
  • Resolution

I also set up some guidelines:

  • I set a maximum story length of 2500 words — something people could easily read in one sitting. Since I was working with a five-point storyform, that meant each section would have about 500 words. 
  • I’d be inspired, but never constrained by, Roam’s random input. 
  • To avoid being derailed by my inner editor, I committed to write the story straight through, curtailing urges to polish and refine while writing the first draft. 

I then created a Roam42 SmartBlock that would insert this storyform as an outline and populate each plot point with a block chosen at random from my Roam Research database. The code looks like this:

Finally, I created a new blank page in Roam, invoked the Roam42 trigger, and got the following result:

  • Normal World: “Think of the automatic responses you have to sweet taste, putrefying odor, proper body temperature, pain, physical touch, snakes, flowers, an aggressive tone, play, courtship, sex, crying infants, sleep, novelty, altruism, or control over your own actions. These stimuli are considered primary reinforcers, meaning that they are prewired, not learned.”
  • Inciting Incident: “Read Later apps”
  • Rising Action: “Source: [Progressive Summarization: A Practical Technique for Designing Discoverable Notes]”
  • Climax: “They need to do the work and be led through the work.”
  • Resolution: “——————–“

So I knew my story would involve an every day world where characters were guided or influenced by sensory stimuli. An incident involving apps that store information and surface it later would start a conflict that would be complicated by the progressive summarization process. That action would reach its climax because of an obligation for someone to “be led through the work.” 

At first, the random block selected for the resolution threw me. That block — a line of dashes — is a divider line I use sometimes the taking notes to separate blocks with a common themes. In this context, that line struck me as blank and vaguely threatening, so I decided my story would end abruptly, on a dark note. 

Writing The Story

Spoiler Warning: The next section discusses the writing process and necessarily contains spoilers that could diminish your enjoyment of the story itself.

The Tools

I wrote “Bloom” in Roam Research, creating a header for each beat in my outline and indenting the related blocks beneath those headers. I liked being able to collapse sections that pleased me, leaving open only the section I was currently working on.

I used Roam’s built-in word count command in two ways. I created a story-wide word counter at the top of the outline (that is, a word counter that tallied all words in every block in the story) and a section-specific word counter at each of five section headers (that would only count the words in the blocks organized under that header). 

The Process

What follows probably tells more than most people want to know about the creation of a 2500-word story … but I wanted to give you a glimpse into what might be, for many, uncharted territory: the creative process that goes on in the mind of a fiction writer … and how that process can be aided by random input (and Roam Research).

The Everyday World: Setting and Character

Despite many interruptions, I wrote the first draft in about two hours. 

Roam’s first prompt — a passage from Impossible to Ignore, Carmen Simon’s masterwork on creating memorable content — had me thinking about the kind of sensory information that makes an experience memorable. Right away, I knew I’d be writing about some technology that delivered sensory stimuli — and that this would be central to the story’s everyday world. 

Re-reading the prompt, I locked in on the words “flowers” and “snakes.” In a flash, I knew the tech would somehow be able to render snakes into flowers. That gave me a setting: a florist’s shop … but I wanted something more exotic, so I dredged up a travel memory of Thailand’s Bak Klang Talat market. 

I decided my main character would work there. Having been to the market several times, I recalled the shopkeepers I’d seen in the stalls outside, and came up with the character of a slender young woman in a stained Tiger Beer tee-shirt. I didn’t know her name until I typed it … and while Saqueena is not particularly a Thai name, I liked the sound of it. 

To ramp up tension, I decided to make Saqueena late for work, and, originally, thought she’d be in such a rush, she would forget to take her glasses and earbuds with her. But that seemed odd in a society where people depended as highly on augmented reality as we do our phones … so I decided she would take her gear along … but that it would go dead, and that I could make her lack of access to her technology as a plot point in the story. 

To ramp up tension even more, I decided Shaqueena had both a pattern of being late … and a boss who would be a bit of a fascist. On the spur of the moment, I named him Radalph — again, not really a Thai name, but one that did have an embodied symbolic link to Adolph Hitler.

The Inciting Incident

Roam’s random selection for the second point on my outline told me that the inciting incident — the “hook” that disrupts Shaqueena’s world and launches the real story — would be related to “Read It Later” apps. 

Watching people check Instapaper didn’t seem especially threatening or surprising. But I realized that, if people had tech capable of changing the way they saw the world, the same tech was likely capable of producing recordings people could review or share. In a flash, I knew my characters would witness a crime … and that their stories about what happened would differ dramatically based on whatever reality they had chosen to author for themselves.

I needed a crime, then, so that the police could poll people for their accounts of the event … and a process for weaving these accounts into a cohesive whole.

The Rising Complication

This prompt is drawn from my notes on an article by Tiago Forte. I’ve long been a fan of progressive summarization. In addition, I know from working with Roam Research (and from reading How to Take Smart Notes) the power of restating key ideas in one’s own words. 

Since I see these processes as powerful strategies, it was difficult, at first, to think of ways they might make Saqueena’s situation worse. But it occurred to me that, in a dystopian setting, paraphrasing source material — particularly eyewitness testimony — as a way of deriving “truth” could be a very frustrating source of trouble for Saqueena.

What if Saqueena witnessed the unvarnished truth about a crime … while everyone around her saw augmented versions, tuned to suit their own tastes? In the world of the story, what would carry more weight: one person’s perspective, or some averaged-together version of events synthesized from many people’s different points of view?

The Climax

My Roam-randomized story outline indicated the crisis at the end of the story would be related to a phrase lifted from, of all things, a journal entry written while I was preparing for a staff meeting. 

“They need to do the work and be led through the work” sounded to me like an assertion made by someone who would be in control. So I came up with a police officer who, when confronted with the absurdity of averaging eye witness testimony together, would respond by insisting on doing things by the book. 

In the end, this exact line appears almost verbatim in the mouth of Officer Saetang. After revision, his declaration is no such much the climax as it heralds the events that lead up to the climax. (This is why it’s healthy, you see, to let your outline guide, but never dictate, your story points.) But one he makes this pronouncement, Saqueena’s fate is sealed. 


Ah, that line of dashes. So empty. So final. 

I decided this meant the story would end abruptly … and in despair. In my mind, that meant Saqueena would likely come to an unpleasant end … and so I knew that, despite being an innocent observer, she would ultimately be charged with and executed for the crime at the heart of the story. 


Writing the first draft took me about two hours. When I re-read the piece, I was struck by the emergence of a powerful theme: the nature of truth. In a world where everyone has their own subjective experience of the truth, how does one arrive at what’s really, objectively true? 

Given that America’s current crisis is rooted in the fact that millions of people have adopted conspiracy theories and fringe news services as their source of truth … well, this struck me as a particularly timely theme. 

Major Revisions

After discovering the story’s theme, I spent an additional hour reworking the story’s flow, enhancing the story’s emotional impact, and reinforcing the theme itself. 

The first line of the story (“The assault in Bangkok’s flower market happened just five minutes after Saqueena arrived.”) was actually the last line I wrote. Originally, the story opened with Saqueena getting ready for work. Other than her vague dissatisfaction with her appearance, there wasn’t much tension there. The current first line, which sets the location, names the main character, and foreshadows the assault in the flower market, is much stronger … but I couldn’t have written it without having written the rest of the story first. 

When I re-read the first draft, Saqueena’s fate struck me as harsh, but not particularly tragic. I knew I could increase the impact of her death by making her more sympathetic, so I went with a trick screenwriting guru Blake Snyder calls “Save the Cat!” 

In Alien, Ripley, the protagonist, saves a cat — a simple act of kindness that endears her to the audience. Blake Snyder makes this one of fifteen “beats” — significant story moments — he recommends including in any screenplay. I adapted the concept here, giving Saqueena an elderly neighbor to check on. 

An earlier version of Mrs. Huang was merely an invalid. But with an eye toward reinforcing the story’s theme, I saw I could use her to set up the story’s central tension early on by having her be immersed in the world she perceived through glasses and earbuds. Without the information that comes later in the story, it’s difficult for the reader to decide if Mrs. Huang suffers from dementia or tech addiction.

And this, in turn, gave me a means of reinforcing the theme throughout the story by placing every character under the thrall of a subjective experience tailored to their whims. The witnesses already did this, but following revision, we see the pedestrians in the market and both police officers retreat into their own little worlds in ways that both isolate and insulate them from reality. 

Once I knew the nature of the assault itself, I could attribute it to someone or something. I came up with the Church of Reality, imagined they would oppose the technology giving rise to all these subjective points of view, and then decided to foreshadow their violence by adding some graffiti to the interior of the subway car. 

As part of a final polish pass, I did a little research to give the story additional texture and depth. Originally, Saqueena rode Bangkok’s SkyTrain monorail to the market. But after I revisited the market via Google Maps, I saw the walk from the closest SkyTrain platform was too long, so I shifted Saqueena to the subway, which has a station a short distance away. I got the name of that station and the street Saqueena walks on directly from the Google Maps. I also googled the names of flowers for sale in the market and, drawing on photos I’ve taken in Bangkok over the years, came up with quick descriptive strokes (the look of the holographic blondes in the body conditioning ad, the pot-bellied man’s outfit, the saffron robes of the man on the subway train, the police officer’s athletic build) I could assign to minor characters. 

The last thing I did was give the piece a title. I like one-word titles, and I like to use that title to draw attention to a central symbol in the story. In this case, I felt drawn to flowers: beautiful, fragile, fleeting natural objects that characters lost in subjective fantasies might fail to see or appreciate. I went with “Bloom,” in part because of the floral connection but also because I liked what the word implied about the way unexpected outcomes unfold slowly over time. 

What I Like

I really enjoyed creating this story … unpacking the writing process for you … and reading the story itself. I like that I felt free to go with the flow: to be inspired, but not constrained by, the information Roam generated at random. 

I like the fact that story only exists because:

  • Carmen Simon wrote the book Impossible to Ignore
  • Tiago Forte wrote “The Digital Productivity Pyramid” and “Progressive Summarization: A Practical Technique for Designing Discoverable Notes”
  • I wrote a journal entry about the best way to get train colleagues to use a progressive strategy method to plan their year
  • I started using lines of dashes to section off related blocks of notes.
  • Roam Research pulled these random elements together in the context of my storyform
  • These random elements and coincidences came together in a meaningful way. 

I’m particularly proud of how the larger theme of the story emerged organically as part of the writing process. I didn’t set out to write a story “about” truth or the hazards of living in a post-truth society. But I’m delighted that theme emerged … and that, once it emerged, I could see ways to go back into the text and reinforce it. 

What I Learned

I’ve missed writing short fiction. While maintaining the corporate and non-fiction work that pays the bills, I’m going to integrate writing more short fiction into my plans for the coming weeks. 

I miss being in the company of writers. In college, outside of the mandatory workshops associated with my graduate degree work, I was part of a small, self-organized fiction writing group: four people at about the same point in their careers as writers united by common affection, goals, and a desire to grow. I miss sharing projects like these with a group like that.

I’m interested in learning more about ways Roam can work as a tool for fiction writers. Cleverly employed, references and unlinked references could become the underpinning for telling non-linear stories, with elements that create a mood or send a message without having to be read in order. 

What’s Next

I’m going to write more stories and explore Roam as a tool for creative writers. 

But what about you? If you’re inspired to write stories using this process, please consider sharing them with the world and letting me know. I’d love to see them. And, of course, if you liked this peek at my process or if you enjoyed reading “Bloom,” would you be so kind as to drop me a quick line at … or to share the work with others in your network? Thanks!

About the author

Mark McElroy

I'm a writer and professional facilitator. I'm the author of a dozen or so non-fiction books and hundreds of corporate video scripts. As a professional facilitator, I coach individuals, committees, and teams to change how they meet, make decisions, and plan, so they can get out of their own way and do work that really matters. I use this site to write about writing, adaptive strategy, travel, and spirituality ... and to "learn out loud" by sharing works (and what doesn't).