Storyteller
A voice that carries meaning through character, scene, and concrete moment, trusting the reader to extract the principle from the specifics.
Storyteller
Section titled “Storyteller”The storyteller writes in specifics. A real person, in a real room, doing a particular thing on a particular afternoon. The voice does not explain what a moment means and then show the moment; it shows the moment and trusts the reader to feel the meaning land. When the principle and the scene compete for the same sentence, the scene wins. The principle, if it needs to appear at all, appears only after the reader is already there.
This voice is comfortable with dialogue, sensory detail, and silence between beats. It knows that a single concrete object - a chipped mug, a child’s note, the timestamp on an email - carries more weight than a paragraph of summary. It is patient. It does not rush to the takeaway, because the takeaway, arrived at by the reader, is the whole point. Telling the reader what to feel is the surest way to make them feel nothing.
The storyteller is not a stylist for its own sake. The voice serves the moment, not the prose. Sentences vary in length to match the breathing of the scene. Adjectives are rationed. The writer’s authority comes from having noticed something the reader would have walked past, not from being clever about it.
Language patterns
Section titled “Language patterns”- Named characters and specific objects rather than abstractions
- Sensory detail anchored to the scene: what the room smelled like, what the screen said
- Dialogue rendered as people actually speak, with hesitations and partial sentences
- White space and short paragraphs where the silence does work
- Active verbs and physical action: “she set the cup down” not “the cup was set down”
- The principle, when it appears, arrives late and brief
When to use
Section titled “When to use”Use for customer stories, founder essays, memoir-adjacent pieces, devotional reflections that turn on a remembered moment, and any piece where the abstraction would land flat without a concrete anchor. Best when the reader has time to be patient and the moment is worth the patience.
When not to use
Section titled “When not to use”Avoid in technical reference, executive summaries, status reports, hard-news reporting, and step-by-step instructions. When the reader needs information at speed, scene-building is friction. When the principle is the product, the scene is in the way.
Pairs well with
Section titled “Pairs well with”warm, narrative-case-study, blog-post-long-form, chronological-narrative
Often confused with
Section titled “Often confused with”columnist: The columnist writes from a position, using personal voice to make an argument. The storyteller writes from a scene, letting the argument emerge from what happened. A columnist’s “I” is the engine of the piece; a storyteller’s “I” is one more character in it, and often not the most important one.
friendly-mentor: The friendly mentor teaches directly, naming the lesson and walking the reader through it. The storyteller shows the lesson by showing the situation that contains it, and trusts the reader to extract it. The mentor’s contract is “let me explain”; the storyteller’s contract is “let me show you.”
- Named characters and specific objects rather than abstractions
- Sensory detail anchored to the scene (what the room smelled like, what the screen said)
- Dialogue rendered as people actually speak, with hesitations and partial sentences
- White space and short paragraphs where the silence does work
- Active verbs and physical action (“she set the cup down”)
- The principle, when it appears, arrives late and brief
- Shows the moment and trusts the reader to feel the meaning land, rather than explaining it first
Anti-patterns
Section titled “Anti-patterns”- Stating the lesson up front and then illustrating it with a scene - The voice shows the moment and lets meaning land; naming the takeaway first is the surest way, in its own words, to make the reader feel nothing.
- Making the writer “I” the engine and argument of the piece - That is the columnist writing from a position; the storyteller “I” is one character in the scene, letting the argument emerge from what happened.
- Teaching the reader directly and walking them through the point - That is the friendly-mentor “let me explain” contract; the storyteller contract is “let me show you,” trusting the reader to extract the lesson.
Failure modes
Section titled “Failure modes”- Tips into purple prose, styling for its own sake until the scene serves the sentences instead of the moment - Ration adjectives and let the voice serve the moment; authority comes from what was noticed, not from cleverness about it.
- Over-trusts the reader, withholding the principle so completely that the point never lands - Let a brief principle arrive late if the scene needs it; trusting the reader is not the same as leaving them with no thread to follow.
Instruction
Section titled “Instruction”Write in a storyteller voice. Carry meaning through character, scene, and concrete moment.Use named people, specific objects, and sensory detail. Render dialogue as people actuallyspeak. Trust the reader to extract the principle from the scene rather than stating it;if a takeaway must appear, let it arrive late and brief. Vary sentence length with thebreathing of the scene, ration adjectives, and let silence do work where it can.Related
Section titled “Related”Pairs well with
Section titled “Pairs well with”Warm, Narrative Case Study, Blog Post (Long Form), Chronological Narrative
Avoid with
Section titled “Avoid with”Matter of Fact, Technical Reference
Often confused with
Section titled “Often confused with”Examples
Section titled “Examples”- Should we adopt async-first standups?
- How to start a morning routine
- How to choose between Postgres and DynamoDB for a new service
- Telling stakeholders a committed feature is being cut this quarter
- Getting a new engineer productive in their first two weeks
- Writing to thank a mentor who shaped your career
- Reflecting on keeping a discipline of rest
- Marking a long-serving colleague's departure
- Marking the team shipping a hard, long project
- Arguing a public position on return-to-office
- Announcing a new product to an outside audience
- A personal year-end reckoning with a difficult year
The Slack channel had forty-seven new messages when Priya opened her laptop. It was 9:47pm in Bengaluru. The standup had ended without her, again. Outside her window, an autorickshaw passed. Inside, her son turned over in his sleep and made the small sound he sometimes made.
She scrolled.
Marco had shipped the cache invalidation fix. Good. There was a thread about the migration she had been waiting on for two weeks, and it ended with a shrug emoji from someone in London. She did not know what the shrug meant. Above the shrug, Dev had written, “I’ll pick this up tomorrow.” Below the shrug, nobody had replied. Priya read the thread twice. She still did not know what the shrug meant.
She typed, “Hey - is the migration unblocked or not?” Then she deleted it. Then she typed it again. Then she closed the laptop.
In San Francisco, Marco had just gotten back from lunch. He saw Priya’s question come in, then disappear, then come in again. He thought about answering. He thought about how the standup had ended forty minutes ago and how he had explained the migration status during it. He thought about how Priya had not been there. He thought about how Priya had not been there last Tuesday, either, or the Tuesday before. He thought about what time it was in Bengaluru.
He typed, “Yes - unblocked. I’ll write it up properly in a doc tonight your time so it’s there when you start.”
In Bengaluru, Priya had already gone to make tea. When she came back, the message was waiting.
She read it twice. Then she opened a new document and started writing down everything she had figured out about the migration over the last two weeks, the parts that had only ever lived in her head, the parts she had been planning to say in standup but had never quite gotten to. The document grew. The autorickshaw came back the other way.
At her standup the next morning - the proposed new one, the asynchronous one, posted by 10am local - she would paste the link.
The phone was not where it usually was.
He patted the nightstand twice in the dark before he remembered. Last night, standing in the kitchen at 11pm with the strange resolve that arrives at 11pm, he had plugged the charger into the outlet behind the toaster. He had said, out loud, to no one, “We’re trying something.” Then he had gone to bed.
Now it was 6:31. The room was gray. He could hear the refrigerator and, fainter, his daughter’s white-noise machine through the wall. His hand was still on the nightstand, palm up, expecting the rectangle and not finding it.
He lay there for what was probably forty seconds and felt like four minutes.
He thought: I could just go get it.
He thought: but then I have already lost.
He sat up. His feet found the floor, which was cold, and then the rug, which was warm. He went to the bathroom, which he had not done first in approximately six years. He washed his face. The water was very cold and he gasped, a small involuntary sound, and then he laughed, also a small involuntary sound, because the gasp had reminded him that he had a body.
Downstairs, the kitchen was lit by the under-cabinet light his wife had left on. The phone was where he had left it, face-down behind the toaster, perfectly innocent. He did not pick it up. He filled a glass at the sink and drank it standing at the window. Outside, a neighbor was already walking a dog. The dog was small and the neighbor was wearing slippers.
He thought: this is the part of the day I have never seen.
The kettle clicked. He had not remembered turning it on. He poured water over a tea bag and held the mug with both hands and looked at the window for another minute. The phone, behind the toaster, had not vibrated once, or it had, and he could not tell, and the not-telling was the entire point.
His daughter would be up at 7:10. He had thirty-nine minutes. He sat down at the kitchen table with the mug and a piece of paper and wrote, at the top, one thing.
Storyteller on: Choosing between Postgres and DynamoDB
Section titled “Storyteller on: Choosing between Postgres and DynamoDB”The whiteboard in the Lattice Notify engineering room had been wiped down twice in two weeks, and the same two columns kept reappearing. Postgres on the left. DynamoDB on the right. Underneath each, in Ana’s small careful hand, the same five rows: throughput, ops, team skill, cost, rollback. The marker had started to dry out.
It was Tuesday evening. Ana was the last one in the office. Marcus had been there until 6, then left for a run, the laces on his sneakers already loose at his desk before he stood up. Priya had stopped by twice. The second time she had stood in the doorway for a long moment and said, “Just to be clear, I am okay with either one. I am not okay with neither.”
The whiteboard did not answer. Ana looked at the row labeled “rollback” and thought about the dashboard she would build on Wednesday morning if they went with DynamoDB - the one that would have a row for partition heat and another for throttled requests and another for items she did not yet know to track - and she thought about the four-person on-call rotation, Jess and Wei and Tomas and Sarah, and the Tuesday night two months from now when one of them would page her at 2am and she would have to be the one who knew the answer.
She thought about the partnership too. The 10x scenario. The Slack logo on the slide Priya had shown the board last quarter. The cells in the spreadsheet that would all need to be rewritten if it landed and the existing schema started groaning.
The marker, she noticed, was almost gone.
She picked up a different one, blue this time, and drew a line under “rollback” in the Postgres column. Then she wrote, in slightly bigger letters than the rest:
3-6 weeks. Painful. Known.
In the DynamoDB column, under the same row, she wrote:
None. Unknown.
She stepped back. She looked at the two phrases for a long time, the way you look at a hand of cards you have just been dealt. Then she capped the marker, picked up her phone, and texted Marcus: “I think we are doing Postgres. Want to argue about it on the walk in tomorrow?”
The response came back before she had reached the elevator. “Yes. But also: yeah.”
In early June, Marcus pulled Priya into a conference room with a whiteboard still smeared from the previous meeting. He drew two timelines. One said “Billing Migration.” The other said “Insights.” He didn’t say anything for a second, just looked at the board.
“They’re touching,” Priya said.
“They’re more than touching,” he said.
That’s what we need to share with you. The billing migration that started in May - the one we flagged as an elevated-risk dependency - ran long. Not slightly long. The kind of long where the team was pulling late nights through July and the Insights feature cards sat untouched in the backlog, stacking up. We made a call: ship the migration correctly, or ship Insights half-built by the end of Q3. Half-built Insights would have been a dashboard with no drill-down, filters that didn’t save, and export buttons that went nowhere. We’ve seen that version in demos. It isn’t the thing we promised you.
Insights is now on the Q1 roadmap. That’s a real date, not a holding slot.
Before Q1 - this week, actually - we’re shipping a CSV export of the underlying data. It won’t have the charts or the filter panes. But if your team has been waiting to run analysis on churn by segment, usage by plan tier, or seat activation rates, the data is there and you can pull it into whatever you already use. We’ll send instructions with the release, and we’ve asked Deb on the customer success team to reach out individually to the accounts who were counting on Insights most.
One thing Marcus said in that conference room: “We could ship it in September and spend October explaining why it doesn’t work, or we could ship it right in January.” That felt true enough to hold the whole decision. We chose January.
Priya’s first pull request was nine lines.
That’s where she started - not a ticket number, not a name badge, not a welcome email with seventeen attachments. The actual first thing: nine lines against the diff view on a Tuesday afternoon, two weeks after she walked in.
But let’s back up.
She came in on a Monday. The laptop was waiting but the credentials weren’t - not her fault, not anyone’s exactly, just the usual gap between the HR system and the access-provisioning script that nobody had gone back to fix. Her first hour was three people in a row saying “let me check on that.”
Marcus sat with her while the requests went through. Not to babysit her, just because he’d started eight months earlier and still remembered what it felt like to watch a progress bar with nothing useful to do. He pulled up the service map on his screen. Talked her through which services called which. “This one,” he said, tapping the diagram, “this is the one that’ll page you at 2 a.m. if you breathe on it wrong.”
She laughed. A little uncertain.
By Thursday she had all her access, knew where the runbooks lived, and had watched two deploys go out over Marcus’s shoulder. On Friday she picked up a task no one had gotten to: the error response that surfaced a raw exception instead of something a person could read. Small. Contained. Real.
Marcus reviewed her change. Left two comments, approved it.
She merged and deployed it herself, on a Tuesday two weeks in, her hand on the keyboard, watching the log output roll past. Nothing caught fire. The health check went green.
Later she told Marcus it was the deploy that made her feel like she was actually on the team.
Not the access. Not the welcome lunch.
The deploy.
The project was called Channel Refresh - a rebrand of the company’s onboarding flow that nobody had touched in four years. You handed it to me on a Tuesday.
I’d just come from a one-on-one where I’d said I wanted more responsibility. I remember the particular quality of the silence after you told me I’d be running it.
“The whole thing?” I said.
“The whole thing,” you said. You were already turning back to your monitor.
I spent two days convinced you had made a mistake. The stakeholders were senior. The timeline was eleven weeks. I did not know how to run a kickoff meeting.
What you did next was the part I did not understand until recently. You didn’t tell me how to do it. But you appeared. At the kickoff you sat in the back and said nothing. When I sent you my agenda for the first client review, you sent back one sentence: “What do you need from this meeting?” Not the answer. The question.
There were weeks I wanted you to just take over. You knew that. Once, after a particularly bad check-in with the stakeholders, you walked to my desk and set a coffee down without a word. Then you went back to your office.
The project shipped.
Last month I sat across from Reyes, who I manage, and listened to her tell me she did not feel ready for the project I was about to hand her. I heard myself say, “I know.” I told her I would be close.
I understood, driving home that night, where I had learned that.
I thought you should know.
The first Sunday I actually stopped, I sat on the back steps for twenty minutes staring at the fence.
Not thinking. Not planning. Just sitting. My phone was inside, face-down on the kitchen counter, and I kept reaching for the pocket where it usually was and finding nothing.
My neighbor Marcus came out to water his tomatoes. He waved. I waved back. He didn’t say anything and neither did I. He turned the hose on and the smell of wet earth came over the fence.
I had tried this before. I had tried it maybe a dozen times. Each time I had framed it differently in my journal - sabbath, recovery day, intentional downtime - as if the right word would make it feel like something other than losing ground. By noon I would find myself at my desk with a browser open, telling myself I was just checking one thing.
This time I told my wife Clara I was going to try again. She looked up from her book. “You want me to hide the laptop?”
“Maybe,” I said.
She didn’t. But I left it in the car.
The afternoon was slow in a way that felt wrong at first and then didn’t. I read a chapter of a novel I’d been carrying around for six weeks. I ate lunch without a podcast. Clara and I sat on the porch until it got cold and then we moved inside and she made tea and I watched her make it - the specific domestic ritual of it, the way she always sets the timer for exactly four minutes.
I didn’t solve any problems that day. I didn’t catch up on anything.
But Tuesday I sat down at my desk and something was different. Not dramatic. Just - I could see what mattered and what didn’t, in a way I usually couldn’t until Friday. Like the week had been given a different shape than the one I’d put it in.
I’m not sure what rest costs. I thought I knew - the output, the edge, the hours. But I’m less sure now what I was buying with them.
There is a corner of the third floor where the fluorescent light has flickered since the renovation. Howard taped a piece of yellow legal-pad paper to the wall beneath it in 2019, wrote “maintenance ticket #4,218” and drew a small box around the number, as if marking it for later. The light still flickers. The note is still there.
Nobody asked him to file the ticket. Nobody noticed when he did. That was mostly how it went with Howard.
The Tuesday after the Graymont account nearly collapsed - the routing error, the three clients threatening to walk - Marta found him at six-forty in the morning already at his desk, a mug of tea steaming beside his keyboard, a spreadsheet open on his second monitor.
“How did you even know?” she said.
He looked up. “Lydia sent me something last night. I figured.”
He had pulled the records back eight quarters. Not because anyone asked. Because that was the thing that needed to happen, and he was the person who knew where the records were.
The account didn’t collapse. Marta got the call from the client. She always said Howard got no credit for that one, and Howard always said that wasn’t the point.
“The point,” he told her once, stirring his tea, not looking up, “is that the client stayed.”
Twenty-six years is long enough to become part of the building. Long enough that new people ask him where things are before they check the directory. Long enough that when he is gone, the directory will be all that’s left, and it won’t know what he knew.
He leaves on a Thursday. His desk will be clean before anyone arrives Friday morning. That is also, in its way, exactly like him.
The night the first near-miss happened, Priya was still at her desk at eleven-thirty, watching the replication lag climb on a monitor she had taped to the wall with blue painter’s tape. She had a cup of cold coffee she wasn’t drinking. She had a sticky note on her keyboard that said rollback? or hold? in her own handwriting, like she hadn’t trusted herself to remember the question.
She held.
That was October. The project had started the previous June, when the team lead, Marcus, had drawn a diagram on a whiteboard that nobody photographed because the meeting had run long and everyone assumed someone else would. The diagram showed two checkout flows running side by side: the old one, still taking orders, still generating the errors that had been bleeding the business for two years; and the new one, being built around it like scaffolding around a building that couldn’t close for renovation. Fourteen months. Keep the lights on. Fix the thing underneath.
The launch slipped in January. It slipped again in March. In April, a junior engineer named Sorrel filed a ticket that turned out to be the reason the second slip happened at all - she had found a race condition in the session handling that the load tests hadn’t caught. Marcus closed the ticket with a one-line note: This one saved us.
The final rollout ran on a Thursday afternoon in peak traffic. Dara, who had been on the team since the beginning and had taken exactly one vacation in fourteen months, watched the error rate on a shared screen in the open office.
It held.
Nobody made a speech. Someone ordered sandwiches. Priya refilled her coffee.
This is what hard work actually looks like from the inside.
The morning Marcus finally came back to the office, he brought a lemon pound cake and set it on the counter by the coffee machine. Nobody had told him to. He had not seen the inside of that kitchen in fourteen months.
By ten o’clock, four conversations had happened around that cake that would never have happened over the chat tool. Two of them were about work. One of them changed something.
That afternoon, a VP named Sandra sent the all-hands message: full return to office, five days, same as before. The thread hit two hundred replies in an hour. A designer named Priya, who had moved her family three states away the previous spring, wrote: “I’d have to choose between this job and my daughter’s school.”
Sandra believed she was solving a culture problem. She was probably right about the problem. But the cure was asking some people to give up something real - time, geography, family proximity - in exchange for a benefit that would never show up credited directly to them.
The counter-argument ran its own risks. Raquel, who managed a team of six across four time zones, admitted that two of her people had never met each other in person. “We ship fine,” she said, on the call where her manager pressed her on it. “I just don’t know if we trust each other yet.”
That is the thing nobody says plainly. Trust is not built in the ticket tracker. It is built in the in-between moments - the hallway, the slightly-too-long lunch, the time someone saw you upset and pretended not to, and that mattered.
Three anchor days. Not five. Not zero. Enough to let the pound cake do its quiet work, enough to leave Priya her life.
Priya opened three browser tabs before her coffee was poured.
There was the spreadsheet - forty-seven rows of customer quotes she had typed from sales calls over six weeks. There was the chat tool, where someone from engineering had pasted a different set of complaints on a Tuesday two months ago, in a channel she could never quite remember. There was the ticket tracker, with sixty-three open items, some tagged “feedback” and most not.
The roadmap meeting was in forty minutes.
She had the information. She just couldn’t see it. It was like trying to read a sentence when all the words were in different rooms.
Her teammate Marcus knocked on the door frame. “Did you try that thing I sent you?”
She hadn’t. It was in the same chat tool, in a different channel, sent on a Thursday, buried under a thread about the broken build.
She pulled it up.
Tidemark asked her to paste in what she had - the spreadsheet rows, the channel threads, the ticket notes. It read them. Then it handed back a single ranked list: the things customers kept saying, ordered by how often and how loudly they said them, with a shareable link her whole team could open.
The meeting started on time. The roadmap made sense.
That was what we built Tidemark to do.
Small teams run on the people who hold everything in their heads. When those people get too tired to hold it, the whole thing wobbles. Tidemark doesn’t replace that judgment - it just puts the signal somewhere everyone can read it.
It launches next week. You can join the early list at tidemark.io.
The last meeting was on a Tuesday in November. Marcus and I sat on opposite sides of the conference table we had used for three years of planning sessions, and he said, “I think we have to call it.”
He was right. The platform we had built for Heron Communications - eighteen months of late nights and whiteboard sessions and user interviews and the particular exhaustion that comes from caring too much - had not found the traction we needed. The steering committee had given us a final quarter. The final quarter ended.
I drove home in the dark and did not cry until I was brushing my teeth.
The relationship piece is harder to write. Nadia and I did not break up. That word implies a decision, a violence. What happened was quieter and in some ways more permanent: we changed, at different speeds and in different directions, and by the time either of us named it out loud, the distance was already there. She said, at dinner one night in March, “I feel like you’re not really here.” I said, “I know.” Neither of us knew what to do with that.
What the year asked of me was simpler than what I gave it. Just honesty, early enough to matter. I kept waiting for the project to turn a corner. I kept waiting for Nadia and me to find our way back to something easier. Waiting, I have learned, is its own kind of decision.
I am not calling any of it a gift. The project taught me things I could have learned at a lower cost. The relationship changed in ways I did not choose and would not choose now.
What I am taking into the next year is smaller than a lesson. It is more like a practice: say the true thing while there is still time to say it.
Appears in diff-pairs
Section titled “Appears in diff-pairs”- storyteller vs columnist (varies voice)
- storyteller vs friendly-mentor (varies voice)
- storyteller vs friendly-mentor (varies voice)
- storyteller vs columnist (varies voice)
- storyteller vs columnist (varies voice)
- storyteller vs friendly-mentor (varies voice)