Tools

Creative Ops Engine

Turn a written update into tasks, decisions and blockers, ready for Notion.

Working Runs in your browser, and nothing is uploaded. Try it below on sample data.

The problem

Status lives in chats and notes. Copying it into a tracker is the step people skip, so the tracker goes stale.

What I built

A tool that turns a free-text update into projects, tasks, decisions and blockers, and never marks anything done unless you said so.

  • Tasks, decisions and blockers from plain text
  • Status from what you actually wrote
  • A history that is never rewritten

Open the tool

Features and limits

Built and tested

  • Splits free text into projects, tasks, decisions and blockers.
  • Task state from what was said: open, in progress, in review, waiting, done. “Sent for review” is in review, not done.
  • Append-only log: every update adds events; nothing is edited in place.
  • Corrections attach to the project and item they name, keep the earlier event, and win in the current view.
  • The same item across updates is recognized (“build the end card”, then “end card started”), and the fuller wording stays.
  • When an update says the awaited thing was delivered, its blocker is marked resolved and stays visible.
  • Export for Notion: a Markdown file with one heading per project, a table of items, decisions and blockers. Also exports JSON.

Limits

  • Rule-based, not AI: it understands the patterns listed in the demo, not every way of phrasing an update.
  • It does not connect to Notion or any other account. You import the Markdown file into Notion yourself (Import, then Text & Markdown) or paste it.
  • Item and blocker matching is by shared words, so two different tasks with very similar wording can merge.

Planned

Reconciliation, semantic deduplication, approvals, integrations and metrics.

How to use
  • Write an update: one project per line, starting with “Project name:”.
  • Use “Decided:” for decisions, “Waiting on…” for blockers, “Next:” for new tasks.
  • Press Add to the log. Add more updates; each one appends.
  • To fix something, start a line with “Correction:”. The old event stays in the log.
  • Export for Notion to get a Markdown file, or Export JSON to keep the raw log. Reset clears the page.
How it works
  • Event sourcing: updates become numbered events; the board is a fold over the log, so history is never lost.
  • One logic module serves both the browser demo and the automated tests.
  • No network, no storage, no dependencies. Output text is escaped before it is shown.
Download

No download yet. A download appears here only after the package is built from reviewed code, installed and tested.

Tested versions & limits
  • Pass Unit: projects, tasks, decisions, blockers Node 22, Linux
  • Pass Unit: no invented completion; sent for review is not done Node 22, Linux
  • Pass Unit: corrections append, keep history, target the named project Node 22, Linux
  • Pass Unit: append-only sequence across updates Node 22, Linux
  • Pass Unit: delivered work resolves its blocker; same item merges across wording Node 22, Linux
  • Pass Unit: Markdown export structure and cell escaping Node 22, Linux
  • Pass Browser: demo structures, corrects, appends, resolves blockers, exports JSON and Markdown Chromium (Playwright), 1280px
  • Pass Notion: Markdown export created as a private Notion page through the Notion API and read back. 3 headings, 3 tables with all 7 rows, escaped pipe, bold labels and struck resolved blockers intact; the top heading became the page title Notion API via connector, 2026-10-31

Last verified 2026-10-31.

The rule-based web tool works. Notion: the Markdown export is checked against a real Notion page through the API. Notion Import menu and manual paste were not tested by hand. No live Notion connection is built.

Details
Input
Fictional work updates
Output
Projects, work items, logs and reviews
Runs in
Any modern browser. Runs locally; nothing is uploaded or stored.
Source
Original, rebuilt from scratch
  • Automation
  • Systems
  • Interactive