Chronological Narrative
Time order is the primary organizing principle - first this, then that, then what came after - with no thematic restructuring.
Chronological Narrative
Section titled “Chronological Narrative”Chronological narrative tells the story in the order it happened. First this, then that, then what came after. The structure carries the reader through cause and consequence because the sequence itself does the work: each event is shaped by what preceded it, and the reader feels that shaping in real time rather than being told about it after the fact.
The discipline of chronological narrative is resisting two temptations. The first is the flash-forward: starting at the climax and looping back, or revealing the ending early to create irony. These moves trade temporal honesty for cleverness, and they often signal a writer who did not trust the events to be interesting on their own. The second temptation is thematic restructuring: grouping events by topic (“the financial story,” “the people story”) rather than by when they happened. This is sometimes the right move, but it is not chronological narrative - it is a different style with a different reader contract.
Chronological narrative works because human attention is wired for sequence. We understand the present as a consequence of the past, and we understand causation by seeing what came before what. When the writer aligns with that wiring instead of fighting it, the reader does not have to hold a structural map in their head; they just have to keep reading.
Structural conventions
Section titled “Structural conventions”- Events presented in the order they occurred, with no flash-forwards or flash-backs as structural devices
- Time markers (“the next morning,” “three weeks later,” “by the end of the quarter”) serve as the primary navigation
- Causation is shown by adjacency in time, not stated thematically (“because they had done X, Y happened” emerges from sequence)
- The opening establishes the starting point in time clearly enough that the reader knows where in the timeline they are
- Restructuring for thematic effect is refused even when it would be more elegant
When to use
Section titled “When to use”Post-mortems and incident reports where causation matters, historical pieces and origin stories, long-form journalism following a sequence of events, case studies where the order of decisions is the point.
When not to use
Section titled “When not to use”Executive summaries that need the conclusion up front, reference material that will be navigated, argumentative pieces organized by logical claim, time-pressured operational writing.
Pairs well with
Section titled “Pairs well with”journalist, storyteller, narrative-case-study, blog-post-long-form
Often confused with
Section titled “Often confused with”narrative-case-study: A narrative case study tells a story but is free to use any time structure - it might open with the outcome, flash back, or reorganize by theme. Chronological narrative commits to time order as the structural backbone and refuses thematic restructuring even when it would be more elegant.
- Events appear in the order they occurred, with no flash-forward or flash-back as a structural device
- Time markers (“the next morning,” “three weeks later,” “by the end of the quarter”) carry the navigation
- Causation is shown by adjacency in time rather than stated thematically
- The opening fixes the reader’s starting point on the timeline before anything else
- Events are not regrouped by topic (“the financial story,” “the people story”) even when that would read more neatly
- The meaning stays implicit in the sequence; the piece does not stop to announce a labelled turning point or a stated lesson
Anti-patterns
Section titled “Anti-patterns”- Opening at the climax and looping back, or revealing the ending early for ironic effect - The flash-forward trades the style’s temporal honesty for cleverness and usually signals a writer who did not trust the events to hold attention on their own.
- Regrouping events by theme and labelling a turning point or closing with a stated principle - Selecting and framing events around a lesson is narrative case study, a neighbor with a different reader contract; chronological narrative commits to time order and lets meaning stay implicit.
- Inserting thematic section headers that cut across the timeline - Topic-based organization breaks the sequence the reader is relying on to feel cause and consequence, abandoning the one thing the style is for.
Failure modes
Section titled “Failure modes”- Holds to raw sequence so rigidly that the piece flattens into an undifferentiated event log where every moment gets equal weight and no causal shaping is felt - Time order is the backbone, not a license to list; let pacing and selection make the consequential moments land while still honoring the order they happened in.
- Over-commits to chronicling every step in real time until the reader is buried in trivial intervening events before reaching what matters - Keep the sequence intact but compress the stretches that carry no causal weight; fidelity to order does not require recording every minute.
Instruction
Section titled “Instruction”Write using chronological narrative. Present events in the order they occurred. Do not flashforward, do not reveal the ending early for irony, do not regroup events by theme. Use timemarkers ("the next morning," "three weeks later") as the primary navigation. Show causation byadjacency in time rather than by stating it: if Y happened because X happened first, the sequenceitself should make that visible. Establish the starting point in time clearly in the opening sothe reader knows where in the timeline they are. Trust the order to carry the meaning - if itcannot, the events themselves are not the right material for this style. Unlike a narrativecase study, do not label a "turning point" or close with a stated lesson or principle; let themeaning stay implicit in the sequence and stop when the events do.Related
Section titled “Related”Pairs well with
Section titled “Pairs well with”Journalist, Storyteller, Narrative Case Study, Blog Post (Long Form)
Avoid with
Section titled “Avoid with”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
How we got here
Section titled “How we got here”Eighteen months ago
Section titled “Eighteen months ago”The team was six engineers, all in Pacific time. The standup was created on a Tuesday afternoon over coffee. Sarah suggested 15 minutes at 9:30am. Nobody argued. For the first week it ran 8 minutes. By the second week it was 12. People liked it. It felt like a team.
Twelve months ago
Section titled “Twelve months ago”We hired Daniel in New York. The 9:30am Pacific time meant 12:30pm for him, right after lunch. He came in cheerful and slightly over-caffeinated. Nobody noticed the time zone was now a constraint. The standup stayed at 9:30am Pacific.
Nine months ago
Section titled “Nine months ago”We hired Priya in Bangalore. The first week, she joined at 10pm her time, with a baby asleep in the next room. Her camera was off. She said “no blockers” and signed off. In the retro that quarter, someone mentioned the time was hard for her. We discussed rotating the slot. We did not rotate the slot. The conversation got buried under a release.
Six months ago
Section titled “Six months ago”The team hit nine engineers. Standup ran 18 minutes, then 22, then we capped it at 15 by going faster, which meant going shallower. Updates became “working on the auth thing, no blockers.” A junior engineer asked Sarah after standup what “the auth thing” was. Sarah explained for ten minutes. That conversation was the most useful thing the standup produced that day.
Last quarter
Section titled “Last quarter”We added Arjun in Bangalore and two more US engineers. Eleven people. The standup was now 14 minutes of taking turns. Priya stopped joining on Wednesdays. Arjun joined but his camera stayed off and he muted aggressively. In the quarterly retro, both said the time was difficult. They did not push hard. The team thanked them and moved on.
Three weeks ago
Section titled “Three weeks ago”The team lead pulled the attendance data from the calendar. India-based engineers: 3.2 of 5 sessions on average. US-based engineers: 4.6 of 5. The gap had been growing for a quarter and nobody had named it.
Two weeks ago
Section titled “Two weeks ago”Priya was supposed to hand off a deployment to the New York team. She missed standup that morning (it was 10:15pm her time and her kid had a fever). The handoff happened in Slack instead, 13 hours later, after the New York team had already started waiting for it. The deployment slipped a day. In the post-mortem, the standup absence got named as a contributing factor.
Last Friday
Section titled “Last Friday”The team lead proposed async-first standups in a Slack thread. Three fields, posted by 10am local, @mention blockers. The thread got 23 replies in two hours. Most were cautious-positive. Two were actively opposed. One person said “I will miss the human contact.”
This Monday
Section titled “This Monday”A draft proposal went out. 30-day trial. Keep Friday sync for social and demos. Measure four signals at day 30: clarity, attendance burden, blocker resolution time, surprise moments in retros.
This morning
Section titled “This morning”The team votes. Whatever happens next will be the next chapter, not this one.
A morning routine, in four weeks
Section titled “A morning routine, in four weeks”This is one person’s story. Not a template, just what happened.
The Sunday before
Section titled “The Sunday before”Maya decided on Sunday night. She had read an article on the train. The article was annoying in the way those articles are, but something in it had landed. She set her phone alarm for 6:15, fifteen minutes earlier than usual, and put the phone on the dresser across the room. She wrote on a Post-it: water, walk, then phone. She stuck it to her bathroom mirror. She slept badly.
Day 1, Monday
Section titled “Day 1, Monday”The alarm went off at 6:15. She walked across the room to silence it. She picked it up. She caught herself, put it back on the dresser, and went to the bathroom. The Post-it was on the mirror. She drank water from the tap, brushed her teeth, and put on the same hoodie she had laid out the night before. She walked around the block. It took 11 minutes. It was cold and gray. She felt like a person doing a wellness routine. By the time she got back, her son was awake. She made him breakfast. She did not check her phone until 8:10.
Days 2 and 3
Section titled “Days 2 and 3”Day 2 was easier because she had done it once. Day 3 was harder because the novelty had worn off and the bed felt more honest about how good it was. She did the walk anyway. It rained on day 3. She walked anyway, in the rain, and felt slightly self-righteous about it, which she noticed.
She forgot. She had been up twice in the night with her son and the alarm felt like an insult. She turned it off and went back to sleep until 7:10. She checked her phone in bed. She felt the rest of the day go sideways from there. She blamed herself, then realized blaming herself was a worse problem than the missed walk. She told her partner: “Tomorrow I am restarting, not catching up.”
Week 2
Section titled “Week 2”The pattern started to emerge. Not the routine itself, the pattern around the routine. She noticed that the days she walked, lunch went better. She noticed that the days she checked her phone first, her first work meeting felt rushed. She started to want the walk for reasons that had nothing to do with the article she had read.
She added one thing in week 2: three lines in a notebook before she opened her laptop. The day’s three priorities. It took two minutes. She did it on the kitchen counter while the coffee brewed.
Week 3
Section titled “Week 3”Her partner started doing it with her some mornings. Not every morning. Sometimes he stayed in bed. She noticed she did not mind. The routine was hers, not theirs.
She missed two days in week 3, both for reasons she did not fight: a 5am flight on Tuesday, a sick kid on Friday. On the Saturday she walked at 8:30 instead of 6:30 and counted it. She was beginning to understand the difference between the routine and the streak.
Week 4
Section titled “Week 4”She no longer thought about it. She woke at 6:15. She did not check her phone. She walked. She came back, drank water, wrote three lines. She made her son breakfast. She started her workday at 9 with a plan she had already written.
She did not feel transformed. She felt the way she had felt before, but with 90 fewer minutes per week of feeling vaguely behind. The routine had not changed her life. It had just removed something that had been making her morning harder than it needed to be.
She kept going. Some weeks she walked every day, some weeks four. She stopped counting. The routine had become the floor, not the goal.
Chronological Narrative on: Choosing between Postgres and DynamoDB
Section titled “Chronological Narrative on: Choosing between Postgres and DynamoDB”On Monday morning, May 11, Priya pinged the architecture channel and said the notification system needed a storage decision by Friday. The Slack-partnership conversation had moved to a term sheet stage over the weekend, and if it landed, Lattice Notify would be staring down ten times the daily volume by next spring. The team needed to commit to a path before sprint planning.
That same afternoon, Ana opened a draft doc and laid out the Postgres case. She had shipped the monolith at 500K events per day before, on Postgres, with a queue in front. She knew the runbooks. The on-call rotation knew the runbooks. The work was unglamorous but mapped.
Tuesday morning, Marcus pushed back in the doc comments. He said the access pattern for notifications, write-heavy, key-lookup, time-ordered, was exactly what DynamoDB was built for. He noted that the 10x growth scenario would force a Postgres sharding project in twelve months that nobody on the team had done before. He attached a benchmark he had run on a personal account over the weekend.
Tuesday afternoon, Ana read the benchmark, then read it again, then walked over to Marcus’s desk. They spent ninety minutes whiteboarding. By the end of the session, Ana had granted that DynamoDB matched the access pattern. Marcus had granted that adding a second database meant the four-person on-call rotation now needed to be on-call for two systems instead of one, and that cross-database joins for the analytics dashboards would become application-layer code.
Wednesday at 2pm Pacific, the architecture meeting opened with Priya restating the deadline. Ana presented the Postgres-with-queue option. Marcus presented the DynamoDB option. Then, instead of the debate Priya had been bracing for, Ana said something the room had not expected: “If the Slack deal closes, we should be on Dynamo. If it does not, we should stay on Postgres. The decision we are actually making is how much we believe in the Slack deal.”
The room got quiet. Priya said she could get a probability estimate from the CRO by end of day Thursday. Marcus said he could prototype the Dynamo schema in parallel so that either decision Friday morning would have a real artifact behind it. The meeting ended without a verdict.
Thursday afternoon, the CRO came back with sixty percent confidence on the Slack deal closing in Q3. Priya routed that number to the channel. Ana posted a single sentence: “At sixty percent, I think we should go with Dynamo and accept the operational cost.”
Friday at 10am, the decision shipped to the team. Sprint planning ran at 2pm.
When we entered Q3 in early July, Insights was at the top of the engineering queue. We had scoped it in June, confirmed the build capacity, and committed September as the ship date. Several of you had already aligned internally around that date, and we knew it carried real weight.
Work began in the first week of July. The team broke ground on the data pipeline and the dashboard interface simultaneously, and by mid-July the core query layer was taking shape.
Around the same time, a mandatory migration of our billing system entered the schedule. The migration had a hard deadline set by our payments processor and could not be deferred. We estimated four weeks of engineering work, enough to run it alongside Insights without collision.
By the end of July, the billing migration had consumed more than the four weeks we had planned for it. Integration testing surfaced edge cases in our subscription logic that required rework, and the dependency on a third-party payments API introduced latency we had not anticipated. The team pulled additional engineers from Insights to stabilize the billing work before it could slip past the payments processor’s cutover window.
Through August, as the billing work continued to absorb capacity, the Insights build slowed. By late August, we could see clearly what the September date would produce: a dashboard that rendered but could not support the filtering, segmentation, and export features that made the product useful. Shipping that version would have meant shipping something we would immediately need to apologize for.
We decided not to ship Insights in Q3.
Instead, by the end of September, we will deliver a CSV export of the underlying usage data so you can pull it into a spreadsheet or BI tool and work with it in the meantime. It is not the dashboard, and we know it is not what you planned for, but it gives you access to the data while we complete the build.
Insights is now scheduled for Q1. We will share a more specific date once the billing migration is fully closed out and we have a clean sprint plan in front of us.
Priya arrived on Monday morning with her laptop in a bag and the name of one person to find: her team lead, Marcus. He had left her a note in the ticket tracker the previous Friday, pointing to the access request doc and the setup checklist. She read both before she found her desk.
By noon she had submitted the access requests. By the end of the day she was waiting on three of them. Marcus had expected this; he had already messaged the infrastructure team to prioritize her credentials. The next morning they came through.
That Wednesday, Marcus paired with her for two hours on the codebase. He did not give her a slide deck. He pulled up the service map and traced one request end to end, narrating as he went. She took notes. When he finished she had questions, and he answered them, but he also noticed which questions she asked: she wanted to know who owned which service, not just how it worked. He sent her a message that afternoon introducing her to Dani, who owned the three services that would touch any change she made in her first month.
By the end of the first week she had read the on-call runbook, attended the daily ship meeting, and watched two deploys go out. She had not touched the code yet.
The second Monday, Marcus assigned her a bug: a timeout in one of Dani’s services that was logged but not alarmed. Small, real, and already understood. Priya found the fix in an hour but spent the rest of the morning reading the surrounding code because she wanted to understand the pattern, not just close the ticket. She opened a pull request that afternoon.
The review came back the next day with two comments, both from Dani. One was a nit. The other pointed to a shared utility Priya had reimplemented without knowing it existed. She updated the pull request, thanked Dani, and asked where else that utility was used. Dani answered, then added: “Nice catch on the root cause, by the way.”
On Friday of week two, Priya merged the change. The deploy ran. The timeout disappeared from the logs. At the end-of-week retro, someone asked if she had gotten her first ship in. She said yes. Marcus said nothing; the team’s reaction was enough.
I joined the team at Calloway & Reed in the spring of 2014, three weeks out of graduate school and not at all certain I belonged there. Dana was a principal consultant, and she was assigned to onboard me. Our first month together was mostly observation: I sat in on her client calls, read the briefs she wrote, and tried to absorb enough of the practice to be useful.
By autumn, I had some footing. I knew the standard deliverable formats and could hold my own in a working session if the questions stayed close to the research. Dana started putting me into client-facing work in smaller doses. I was good at the parts I had practiced.
In January of 2015, Dana told me she had nominated me to lead the Hartfield account restructuring. The project was substantial - a fourteen-month engagement with a mid-size client going through an ownership transition. I had never led anything. When I said so, she said she knew, and that was the reason she was nominating me.
The first two months were hard. I did not have a reliable sense of what the client actually needed versus what they said they needed, and I made structural decisions in the early deliverables that I later had to walk back. Dana attended my check-ins. She asked questions more often than she offered answers. When I described a problem I was stuck on, she would ask me what I had already ruled out and why. When I came back the following week with something that had not worked, she did not say she had seen it coming. She asked what the failure had shown me.
By spring, the engagement had settled. The client trusted the work. I could run a room without Dana in it and I had started to trust my own read on the room.
The project closed in early 2016, and shortly after that Dana moved to a different office. We stayed in touch, but the daily proximity was gone.
Ten years passed.
Last November, I promoted one of my own analysts to lead a client engagement she was not ready for. She knew it and said so. I told her I knew, and that was exactly the reason.
About two months in, I was sitting in on one of her check-ins, listening to her work through a problem she was stuck on, and I heard myself ask what she had already ruled out and why. That night I opened a message to you.
The first Saturday I tried to keep a day off, I lasted until ten in the morning.
That was in October, two years ago. My partner and I had talked about it the week before, agreed in theory, the way people agree on things they have not yet tested. I woke up on the first Saturday feeling lighter than usual. I made coffee. I sat with it. By nine forty-five I was scrolling through my inbox, reading a message from a client I had not yet opened, telling myself I was only looking, that knowing was not the same as doing.
The next six Saturdays went roughly the same way. I would begin with intentions - phone in another room, notebook closed - and by mid-morning the gravity of unfinished things would have pulled me back. It was not that fires needed putting out. It was a low hum, more like an itch: the sense that I was letting something accumulate, that a message unanswered was a debt compounding.
In December I stopped trying. I told myself it was the busy season. I worked most Saturdays through January, sometimes productively, sometimes just sitting with the option to work and calling that readiness.
In February, with no particular plan, I tried again. This time I left my phone in the bedroom. I did not announce it. I had a slow breakfast, read for an hour, walked to a coffee shop in the afternoon and sat there without opening anything. The afternoon felt long in a way that was initially unpleasant and then, after a while, simply quiet.
The following Monday was ordinary in every visible way. But I arrived at my first meeting without the low-grade weariness I had come to expect. I did not think much of it.
Two Saturdays later I did the same thing. The Monday after that was similar. By March I had kept the practice four weeks running. The days themselves did not feel productive. Some of them felt restless, a little purposeless, like waiting for a flight that had not yet landed.
But the weeks started to look different. Problems I had been cycling through without resolution would come clear on Tuesdays and Wednesdays in ways I could not trace back to any particular effort. By April I had kept the practice through eight consecutive Saturdays. I would put the work down in the morning. On Sunday night I would pick it back up. Monday would arrive, and I would begin.
Howard joined Meridian Group in the spring of 1998, when the company occupied a single floor of a building downtown and kept its project records in a row of matching binders. He came in as a systems coordinator, and for the first few months he spent most of his time just learning where things were.
By the end of his first year, he had updated the binder index and digitized the records nobody else had gotten around to. He did not announce this. His manager at the time noticed because a folder he had been looking for all autumn was suddenly easy to find.
Over the next several years, Meridian grew. The single floor became three, then a second location, then a third. Howard’s title stayed the same. He became the person you called when an old contract fell out of the system, or when a vendor said there was no such agreement and you needed to prove otherwise. He kept a mental map of decisions that had been made before most of his colleagues arrived, and he shared that map freely, without ceremony.
In 2009, a billing integration broke during a client migration. The team running the migration had been at the company for two years. Howard had been there eleven. He walked them through the architecture of a system that no longer existed except in records he had indexed in 2001, and the migration finished on time. Nobody wrote that down anywhere.
A few years later, a junior analyst named Priya came to him frustrated that her suggestions kept stalling in review. Howard listened, then walked her through the history of a similar proposal from 2007 and why it had gone sideways. She revised her approach and resubmitted. The proposal moved forward. She would later say that conversation was the reason she stayed.
Others said similar things over the years. A project manager who had nearly quit in his second year. A team lead who had been passed over once and needed someone to tell her the longer story about how those decisions got made.
Howard never called attention to any of it. He came in, did his work, answered his messages, remembered what others forgot, and showed up steady when things got hard.
On Friday, he cleaned out his desk. He handed over a document he had quietly been updating for the past six months - every process, every contact, every piece of institutional context he could think to write down. Then he shook a few hands, declined the offered lunch, and left through the lobby the way he had every evening for twenty-six years.
The project started in March 2024 with a decision the team had been avoiding: stop patching the checkout and rebuild it. Cart abandonment had climbed for three consecutive quarters, and after two days reviewing the codebase, engineering lead Sione Tuilagi concluded the flow could not be fixed from the inside. They would build a new checkout in parallel while the old one served every real customer.
The first four months were architecture and scaffolding. By June 2024, the team had a shadow infrastructure in place - the new checkout processing test traffic, the old one untouched.
In July 2024, five months in, the first integration test with the payment processor exposed a race condition. Under concurrent load, the new flow could silently write an order to the ledger twice and then fail to notify the customer. The bug had passed every synthetic test. Daria Kessler and Marcus Webb spent twelve days tracing it to an event-ordering assumption in the payment library. The fix was two lines; finding it was not.
The first launch target was October 2024. The team missed it. The payment fix had cascaded into new load tests, and those tests were not complete. The new target became January 2025.
Through November and December 2024, the team ran migration rehearsals, porting order history from the old schema to the new. The January dress rehearsal uncovered the second near-miss: guest checkout orders from the old system carried NULL values in a customer-ID field the new schema required. Roughly nine percent of historical orders would have become unresolvable if the migration had run that week.
January 2025 slipped. The team needed a clean backfill for the NULL records and a full dark-launch window before any customer saw the new flow. The new target was April 2025.
Through February and March 2025, the new checkout ran in shadow - processing real transactions, writing to a parallel database, never surfacing to users. The shadow logs showed no order drops and no double-charges. Abandonment rates in the shadow set ran at about a third of the old system’s baseline.
On April 8, 2025, the team opened the new checkout to ten percent of traffic. By April 12, it was fifty percent. By April 15, it was full. A promotional event the following weekend pushed transaction volume to nearly three times the daily average. The new checkout held.
For me, the debate over return-to-office did not begin with a memo. It began in the second week of the shutdown, when a new product manager named Lila sent her first message in the chat tool: “Hi, I’m Lila - joined Monday, still figuring out where everything lives.” No one saw it for four hours.
The months that followed built the case for remote work as thoroughly as anyone could ask. By late winter of that first remote year, our team had found its stride. The focused work - the writing, the analysis, the careful building - was, if anything, better. People carved out their best hours. The commute time people recovered showed up as early-morning effort and mid-morning clarity that the office had never delivered consistently. Anyone arguing that presence equals productivity had to account for that stretch.
But the following spring, when we started a major planning cycle, the seams showed. Decisions that would have taken an afternoon of hallway conversation stretched across three weeks of asynchronous threads. Context accumulated in the chat tool and was never quite synthesized. Two teams arrived at a design review with different assumptions about scope, because the calibration that happens in a shared kitchen had simply stopped.
By summer, the company’s first answer was a blanket return mandate. Half the team pushed back hard. Three people who had relocated gave notice. The mandate was walked back in six weeks. Those who argued that the office was irreplaceable had to account for that, too.
The following autumn brought a reverse experiment: fully remote, indefinitely. Onboarding improved when we built documentation for it. Focus work improved when we stopped pretending that proximity meant the same thing as presence. But by the end of that quarter, the people who had joined during the remote stretch had still never met their colleagues in person, and it showed in how they operated. Not in output - in trust. In the willingness to say, over a video call, “I think that is the wrong call.”
That winter, almost without planning it, four of us overlapped in the office on Tuesdays and Thursdays for six weeks because those were the days the anchor project was moving fastest. The work clicked in a way it had not since the shutdown began.
So when leadership asked for a policy, I proposed what the sequence had already shown us: two or three shared anchor days, chosen around the work rather than the calendar, with everything else flexible. Not as a compromise between remote advocates and office-first leaders, but as the thing that had already happened when we stopped mandating and started watching.
In the spring two years ago, Priya Mehta was running her third consecutive quarterly planning meeting with the same unresolved question on the table: what did their customers actually want next?
The feedback existed. It sat in the support queue, in the survey tool, in a shared document of notes from customer calls, and in a channel on the chat tool where teammates forwarded screenshots of complaints. Priya would spend the two days before each planning session pulling from all of it, pasting fragments into a spreadsheet, and trying to rank them by some combination of frequency and gut feel. The spreadsheet never felt authoritative. Different teammates disagreed about priority. The meeting ended with a list that no one trusted completely.
She brought the problem to her co-founder, Devraj Singh, in January. They spent a few weeks just trying to understand what was making it hard. The issue was not that the feedback was unclear - the customers knew what they wanted. The issue was that the signal was scattered across too many places, and there was no shared format that made comparison straightforward. A complaint in the chat tool looked different from a request logged in the ticket tracker, even when both were pointing at the same gap in the product.
By February, Devraj had a rough prototype that pulled feedback into a single queue and let the team tag, weight, and rank items before exporting a shareable view. Priya used it for the next planning cycle. The meeting that quarter took forty minutes instead of two hours, and the team left with a ranked list they had all built together in the room.
Over the following months, they rebuilt the prototype into something more reliable, tested it with a handful of other small teams, and kept adjusting the ranking logic based on what actually helped people reach decisions faster.
Next week, they are making it available publicly. The tool is called Tidemark.
If your team collects feedback from more than one place and your planning meetings still end with a list no one is fully confident in, Tidemark was built for that moment. The free tier covers teams of up to five. Sign-up is at tidemark.io.
January: the project was in its seventh month, and I believed we were close. Elara and I had been building the collaboration for almost two years by then - putting together something we thought other people genuinely needed. I was wrong about how close we were. I was wrong about a few things.
By February, the third prospective partner had passed. The feedback was the same each time, phrased differently each time: the timing was not right, the market was not ready, the category was crowded. I wrote up the responses in the ticket tracker and scheduled another round of revisions. Elara and I did not talk about what the pattern meant.
In March, she told me she was leaving the project. Not the partnership, she said - just the project. I did not understand the distinction at first. Over the next few weeks I came to understand it less.
By April I was running the work alone. The fourth partner passed in May without a call. I got an email.
That summer I kept going because I did not know how to stop. I reached out to seven more people between June and August. Three responded. I took one meeting. Nothing came of it.
In September I finally looked at what I had been avoiding looking at. The project had run for fifteen months and had not found the thing it was supposed to find. I had made decisions in year two that I would not make again - moved fast on a pivot that narrowed our options, stayed in a lane that felt principled but was also, I think, comfortable. I did not write up those observations for anyone. I sat with them.
October was quiet. Elara and I talked once, briefly, over coffee that neither of us finished. The friendship was not gone but it had changed shape, and neither of us named what it had changed into.
I spent November closing things out. The shared inbox. The file structure I had built across three different tools and been proud of. None of it felt like ceremony. It felt like filing.
December arrived. I was tired in a way that had become ordinary, which is different from the way I was tired in January. Some of what I set out to do did not get done. Some of what I thought I understood turned out to be wrong. I am carrying that forward into the next year, not as a lesson, but as fact.
Appears in diff-pairs
Section titled “Appears in diff-pairs”- chronological-narrative vs narrative-case-study (varies style)