Build Log Internal tooling

How we built an ops board an agent keeps current

A task board only helps if it is current, and keeping it current by hand is the part that slips. So we built one an agent keeps current, with one deliberate gate: nothing reaches the board until you confirm. Two things find your tasks, a session sweep and an evening read of your meeting notes. This is the system, end to end.

Published June 2026 by Balázs Turán, Creative Data Engineers.

What we built
  • Two ways tasks get found: a session sweep during Cowork work sessions, and an evening read of your meeting notes in Notion.
  • Both land as a dry-run list. Nothing reaches the board until you confirm. That gate is deliberate.
  • On confirm, tasks are written to a Supabase store. One store, one source of truth for the board.
  • A live Netlify board refreshes in real time, so the board stays current without anyone keeping it by hand.
Why we built it

A board that goes stale is a board you stop opening

Tasks pile up faster than anyone updates a board for them. They surface mid-session while you build, and they hide inside meeting notes you agreed to and then forgot. We wanted a board an agent keeps current, so the work that matters is on it without a daily tidy-up, and we wanted that without handing an agent the power to write to it silently.

The rule we set ourselves: the agent can find tasks and draft them, but it cannot write them. Every task lands as a dry-run list first, and you confirm before anything reaches the store. That split is what keeps the board both current and trustworthy. The agent does the reading and the typing; you stay the one deciding what is real.

The system

From meeting note to live board, end to end

Two bands run in order. Find the tasks: a sweep of each work session and an evening read of your meeting notes, both producing a dry-run list. Confirm and publish: you review the list, confirmed tasks are written to a Supabase store, and a live board refreshes in real time. The honest part is the gate: nothing writes to the board until you confirm, and the evening triage is run by hand today, going automatic only once that gate has earned trust.

Our code Data store Outside service / AI You (manual)

Hover or focus any box for a plain-language explanation.

A Find the tasks Two ways in: a session sweep, and a read of your meeting notes extract your items CAPTURE Session capture a sweep of each session YOUR NOTES Meeting notes what you agreed to do DRY RUN Evening triage drafts tasks, writes nothing swept tasks the dry-run list B Confirm and publish You confirm the list, then it writes and shows up live you confirm appears live YOU CONFIRM Review nothing writes until you say so DATA STORE Write saved to the task store OUR APP Board live, always current

This board runs on the same engineering as the rest of our internal tooling. For another system shown end to end, see the AI-search radar that reads five live sources and writes our newsletter. See the AI-search radar →

What we learned

Three decisions that make it hold up

1

Nothing writes without confirmation. Both sources hand you a dry-run list, and the board's store stays untouched until you say so. The agent can suggest all day; only you make a task real, so the board never fills up with things you did not agree to.

2

A dry-run earns trust before automation. The evening triage runs by hand today, on purpose. It only moves to automatic once we have watched its dry-run lists be right often enough to trust them unattended. Trust is earned by being checkable first.

3

One store keeps the board live and current. Confirmed tasks go to a single Supabase store, and the board reads straight from it in real time. One source of truth means the board is always current, with nothing to sync by hand.

FAQ

Questions we get about the ops board

How do tasks get onto the board?

Two ways find them: a sweep of each Cowork work session, and an evening read of your meeting notes in Notion. Both produce a dry-run list. After you confirm, the tasks are written to a Supabase store and the live board refreshes.

Is it automated?

Partly. Finding tasks and drafting the dry-run list run on their own. Writing to the board does not: nothing is saved until you confirm. The evening triage is still triggered by hand today.

Why a manual gate?

Because silent writes erode trust. An agent that can edit your task board without asking is one you stop trusting fast. The gate keeps you in control, and the triage only goes automatic once its dry-run has earned that trust.

Can you build internal tooling like this for us?

Yes. It runs on the same engineering as our AI Search Visibility work. Book a call and we will scope it.

This is the kind of system we build for clients

The ops board runs on the same skills we bring to client work: read the sources where the work lives, capture it cleanly, and put a human gate where judgement matters. That is the heart of our AI Search Visibility work too.

We also teach operators to build systems like this, hands-on. Balázs runs the build sessions at Agent-J+.