Marcus Halloran

Marcus Halloran

Editor-in-Chief · Indie Press

Marcus edits Indie Press, an independent monthly magazine with 12,000 paid subscribers. Six writers, twelve issues a year, and a strategic arc he carries entirely in his head.

The setup

Indie Press is a monthly magazine Marcus has been editing for the last six years. Twelve issues a year, six writers per issue, 12,000 paid subscribers, and a circulation that punches above its weight in political-cultural commentary. The magazine is independent, no parent company, no chain, which means Marcus does the editorial-strategy work himself, alone, in the gaps between draft reviews.

The strategy work is what holds the magazine together. Each issue has an argument: the magazine is making a case about something, and every piece in the issue should deliver that case from a different angle. Marcus carries the argument in his head, and the writers, who he trusts, execute their pieces against it. Most of the time it works.

The breakdowns happen when writers go off the argument. A piece that was supposed to deliver the political case ends up as a cultural-criticism piece. A reporter who was supposed to land a long-form essay sends in a 1,200-word reportage column. Marcus catches most of these in editing, but by then the issue is six weeks into production and the alternatives are bad: kill the piece and scramble for a replacement, or ship the issue with the strategic arc compromised.

The cost has been adding up. Subscriber renewal among the political-reader segment has dropped 4 points over the last year. Marcus came to Zynkex with a tightly observed problem: “Editorial calendar chaos. Six writers working in parallel, no clear strategic arc, and I’m the only one holding the thread.”

The session

The session opened with Marcus describing what he thought he needed: a workflow tool. Something the writers could log into, where each piece showed its argument tag, where the segments were tracked, where the editor could see the whole picture in a dashboard. Zynkex pushed back inside the first ten rounds. The category Marcus was describing, editorial workflow software, is the category whose products independent-magazine editors have been ignoring for fifteen years. The reason they’re ignored is that they treat the writers as the audience, and writers ignore tools they didn’t ask for.

The reframe was: the editorial-arc work is editor-only. Writers don’t need a tool. The editor needs visibility into the work the writers are already doing. The form factor that delivers editor visibility without touching the writer workflow isn’t an app, it’s a script that reads from the existing Notion database the writers already use, and posts reports to a Slack channel the editor already lives in.

That reframe was the strategic moment. Marcus had been thinking about coordination; the session moved him to thinking about visibility. The writers don’t need to be coordinated, they’re professionals working from briefs the editor wrote. What they need is for the editor to catch the strategic drift early, before the issue ships, when there’s still time to correct it. The script is the editor’s early-warning system.

The architecture followed: daily operational reports (drafts in flight, at risk, stalled) and weekly strategic reports (argument alignment, segment coverage). The voice tightened to dry, build-status-bot terseness so the script survives the editor’s attention budget over years. Hard constraint: the script never writes to Notion. All actions remain manual. The script’s only output is the Slack report, and the editor’s only job after reading it is to have the right Monday-morning conversation with the right writer.

By the end of the session, the project narrative had shifted. Not "editorial software", the category Marcus had been resisting for years and was about to embarrassedly buy anyway. "Editor-strategic-arc visibility." A practice, not a product. The script is the smallest possible implementation of the practice, and the practice is the differentiator that supports the planned expansion to a weekly newsletter for paid subscribers next year.

The Build Brief

For the engineering contractor building the script and the Slack integration. Names the data source, the report cadences, the voice rules, the operational handoffs. The .docx the build runs on.

indie-press-editorial-arc-script-build-brief.docxBuild Brief · 3 pages

Build Brief for the Indie Press editorial-arc script. Paste into your AI coding tool; the tool will determine the file structure for the build environment. The implementation produces a scheduled script running daily and weekly, a Notion database integration, and Slack reports surfacing editorial alignment to readers, segments, and the issue's argument. Read end-to-end before generating code, the editor-as-audience frame in Section 1 governs every report, query, and surface decision downstream.

Indie Press, Editorial-arc script

What this is. A script, not an app, not a CMS, not a workflow tool, that runs on a schedule, queries the existing Notion editorial database, and posts structured reports to a Slack channel surfacing whether the current issue's draft set is delivering the strategic arc the editor-in-chief planned.

The editor-as-audience constraint. Every decision in this brief is gated on the fact that the primary user is the editor-in-chief, not the writers, not the publisher, not the readers. Writers continue to draft as they always have. The publisher reads the issue when it ships. The editor uses the script to maintain the strategic arc across six writers operating in parallel.

Indie Press is not adding editorial software. Indie Press is making the editor's strategic arc visible to the team that produces it.

When uncertain whether a feature belongs in the script, ask: does it serve the editor's weekly arc-maintenance ritual? If yes, build it. If it asks the writers to do something different, redirect it to a conversation the editor needs to have, not a script feature.

Section 1. Data source

The script reads from the existing Notion editorial database. Schema:

  • Draft (page). Title, writer, status, segment tags, argument tag, draft-completion date target.
  • Issue (page). Issue number, ship date, theme, list of drafts assigned.
  • Segment (database). The reader segment list with descriptions (Political, Cultural, Long-form Essay, Reportage, Opinion).
  • Argument (database). The 1-2 sentence strategic argument for each issue.

The script does NOT write to Notion. All structure changes happen in Notion as they always have. The script is read-only, its only output is the Slack report.

Section 2. The daily report

Runs every weekday at 8am Eastern, posts to the #issue-prep Slack channel.

Header line: Issue N · Ships in X days · Y drafts in flight

Below the header, three lists:

  • In flight. Drafts with status in-progress or first-edit, grouped by writer.
  • At risk. Drafts whose target completion date is in the next 3 days but status is still outline or in-progress.
  • Stalled. Drafts with no Notion update in 5+ days.

Each row is one line: title · writer · status · completion target. No images, no embellishments. The script reads like git status for the editorial calendar.

Resist the urge to add weekly summaries, sentiment analysis, or visualization. The daily report is the editor's working tool; anything beyond a working tool gets ignored. The strategic arc work happens in the weekly report below.

Section 3. The weekly arc report

Runs every Friday at 5pm Eastern, posts to #issue-prep. This is the strategic surface.

Header: Issue N · Arc check · Strategic argument: "[the argument text]"

Three sections:

  1. Drafts aligned with the argument. Drafts whose argument tag matches the issue argument, with a one-line summary of how each draft delivers the argument from a different angle.

  2. Drafts off the argument. Drafts whose argument tag doesn't match (or is unset). Each row prompts the editor to either retag, reassign, or kill the draft before the issue ships.

  3. Segment coverage. Bar of which reader segments the issue is currently delivering to vs. the issue's planned segment mix. If the political reader segment was supposed to get 3 pieces and the current draft set has 1, that gap is flagged.

The weekly report is the editor's strategic-arc maintenance ritual. It runs Friday afternoon so the editor reviews it over the weekend and has Monday morning conversations with the writers if anything is off.

Section 4. The ship-date alert

Triggered when an issue is 7 days from ship date and any draft is still in outline status. Posted to #issue-prep with the editor explicitly @-mentioned.

Threshold is intentionally loud. Most editorial slips happen because the editor noticed the problem one week too late.

Section 5. Voice and tone

The script's reports are functional. No emoji, no hype, no editorial commentary. The voice is closer to a build-status bot than to a marketing newsletter.

Phrases the script uses: Drafts in flight. At risk. Stalled. Off the argument. Below segment quota.

Phrases the script does NOT use: Great work team! Keep it up! Looking strong! Heads up!

The dry tone is intentional. The editor uses the script tens of times a week; chatty reports get muted within a month. The script needs to survive the long-term workflow attention budget.

Section 6. Operational details to provide

  • Notion API token with read access to the editorial database, segment database, argument database.
  • Slack workspace + the #issue-prep channel and #issue-prep-quiet (for the daily reports, #issue-prep is for the weekly and the alerts only).
  • The mapping between writer Notion user IDs and Slack handles (so the script can @-mention writers when their drafts are at risk or stalled).
  • Confirm cron host: existing GitHub Actions workflow or new Vercel cron, editor's preference.

The Strategy Plan

For Marcus to take to the publisher and the upcoming subscription-renewal pitch. Names the editor-strategic-arc thesis, the script-not-software position, the year-one targets, and the practice that supports the planned weekly-newsletter expansion. The .docx the next strategic conversation runs on.

indie-press-strategy-plan.docxStrategy Plan · 2 pages

Indie Press, Strategy Plan

Indie Press is leaking strategic coherence. Six writers working in parallel, the editorial calendar treated as a deadline tracker, and the editor-in-chief carrying the issue's strategic arc in his head. This plan ships a script that makes the arc visible to the team that produces it, and turns the practice into the differentiator that supports the next reader-segment expansion.

Opportunity

12,000 paid subscribers. Six writers per issue. Twelve issues per year. Subscriber retention is healthy at 88% annual, but acquisition has flattened over the last four quarters and renewal rate among the political-reader segment has dropped 4 points.

The recovery: ~$60K ARR retained by aligning the political-reader segment's cadence. The hidden upside: the editorial-arc practice that supports the planned expansion to a second tier (a weekly newsletter for paid subscribers, planned for next year), a practice that requires the strategic-arc discipline to be visible across both surfaces.

The actual audience is Marcus the editor-in-chief, not the writers. Writers continue to draft as they always have; the strategic coherence work is the editor's job. The script makes that work visible without changing what the writers do.

Most editorial-software products fail by trying to change the writer workflow. Writers ignore tools they didn't ask for. The script wins by being editor-only, it reads the writers' work as they produce it, surfaces the strategic gaps to the editor, and never asks the writers to log in.

Our Position

Indie Press is not adding editorial software. Indie Press is making the editor's strategic arc visible to the team that produces it.

The editorial-tools category is full of CMS replacements and workflow optimizers. They sell to publishers and editors-in-chief by promising "team coordination." Editors of independent magazines uniformly ignore them, the operational overhead is high, the editorial-strategy value is low.

The editor-strategic-arc category is empty. The work of holding the strategic argument across six parallel drafts is editor-in-chief work, currently done in the editor's head. A script that surfaces the work without imposing workflow is the right shape: small, read-only, channel-native (Slack), and ignorable by writers.

If the writers have to do anything different because the script exists, the strategy has failed. The script is the editor's tool, not the team's.

The Strategy

Editor-only audience. The script reports go to the editor (via Slack). Writers continue to work in Notion as they did before; the script reads their work, it does not interrupt it.

Read-only by design. The script never writes to Notion. All structure changes, re-tagging an off-argument piece, killing a stalled draft, rebalancing segment coverage, happen via the editor's normal Notion workflow. The script's job is visibility, not action.

Two cadences, two purposes. Daily report is operational (drafts in flight, at risk, stalled, like git status). Weekly report is strategic (argument alignment, segment coverage, the actual editorial-arc maintenance).

Dry voice as differentiator. The reports are functional, not chatty. The editor uses the script tens of times per week; the voice has to survive attention budget over years, not impress in week one.

Year-one targets.

  • Political-reader-segment cadence aligned to the planned quota in 80% of issues.
  • Editorial slips on ship dates: down from 40% (current rate) to under 15%.
  • Editor's reported time saved on arc-maintenance: 4-6 hours per issue.
  • Subscriber renewal rate in the political segment: recovered to 88% (segment-wide average).

The decisions we made.

  • Script, not app. No UI for anyone. Slack-native reports only.
  • Editor-only audience. Writers never asked to log in to anything.
  • Read-only Notion access. All actions remain manual.
  • Two cadences, daily operational, weekly strategic.
  • Dry voice. The script reads like build-status, not a newsletter.

Risks

The single largest risk is editor-only-tool capture. If a writer or the publisher discovers the script and asks for their own report, the elegance of "editor-only" dissolves into "another stakeholder dashboard." Mitigation: explicit policy that script reports are editor-only artifacts; any team-wide visibility into the editorial arc happens through the editor's commentary in the existing weekly editorial meeting.

Second risk: report fatigue. If the daily report becomes noise, the editor mutes the channel and the weekly arc report goes with it. Mitigation: the daily report posts to #issue-prep-quiet and the weekly + alerts post to #issue-prep; the editor controls the noise floor through Slack channel notifications.

Open, whether to expand the script to cover the planned weekly-newsletter expansion when it launches, or build a separate script tailored to the weekly cadence. Deferred until the weekly newsletter's editorial structure is settled enough to know whether the arc-maintenance work is the same shape.

What’s the work you’re carrying in your head that should be visible?

Already have an account? Sign in