Mission Control — Kanban Board Plan
Mission Control — Kanban Board Plan
Goal
Add a first-class Kanban Board to the Mission Control app that gives MP and Max Ops one clear execution surface for what is waiting, active, blocked, in review, approved, and shipped.
This should not be just another visual task list. It should become the daily execution board for campaigns, client work, internal builds, automations, approvals, and delegated agent work.
Recommended product direction
Build the Kanban board as a unified operator layer over existing Mission Control data:
- Airtable Tasks table
- Airtable Projects table
- Airtable Content Queue table
- Airtable Approvals table
- Airtable Assets table
- Airtable Workflow Runs table
Mission Control remains the operator UI. Airtable remains the source of truth unless/until we intentionally migrate data storage.
Why this matters
Right now Mission Control has separate pages for Tasks, Projects, Content Queue, Assets, Approvals, and Workflow Runs. That is useful, but MP’s day-to-day question is usually not “which table is this in?”
The real question is:
What needs attention, what is moving, what is blocked, and what can ship?
The Kanban board answers that directly.
Core board lanes
Recommended default lanes:
1. Inbox
- Raw ideas, incoming tasks, voice-note requests, campaign ideas, loose opportunities.
- Nothing here is committed yet.
2. Planned
- Chosen work that has a next action but is not actively being executed.
- Useful for this week / near-term work.
3. In Progress
- Work actively being executed by Max, Jessica, a sub-agent, MP, or another owner.
- Should be limited to prevent overload.
4. Blocked
- Waiting on access, decision, approval, client info, pricing, login, API key, or external dependency.
- This should be one of the most important lanes.
5. Review / Approval
- Creative, copy, campaign plans, generated assets, external posts, spend, automation changes.
- Anything that cannot ship without MP/human sign-off.
6. Ready to Ship
- Approved or complete items that only need scheduling, posting, sending, exporting, or launch.
7. Done / Shipped
- Completed work.
- Should include shipped date and output link when possible.
Optional specialized views
The same board data should be filterable into views:
Daily Command Board
Shows only today/this week/high-priority items.
Campaign Board
Filters to one campaign, such as Florida Renu Father’s Day.
Business Board
Filters by business:
- Florida Renu
- Chris Headshots
- Paradise Collection
- R. Allan Media
- PosePerfect Mat
- AI Infrastructure
Approval Board
Shows only review/approval/blocked items.
Agent Board
Groups by owner:
- MP
- Max Ops
- Jessica
- Specialist Agent
- Client / External
Card design
Each Kanban card should show enough context to act without opening 5 pages.
Minimum fields
- Title
- Business / project
- Status / lane
- Priority
- Owner
- Due date or target date
- Source table/type: Task, Project, Content, Approval, Asset, Workflow Run
- Next action
- Blocker / decision needed
- Linked record ID
Useful optional fields
- Campaign
- Platform: IG, FB, GBP, YouTube, email, etc.
- Approval status
- Asset preview thumbnail
- Output link
- Related brief/doc link
- Created date
- Last updated date
- Tags
- Automation run status
Card actions
Phase 1 can be mostly read-only with simple links. Phase 2 should add real actions.
Phase 1 actions
- Open source record/page
- Copy summary
- Filter by owner/business/status
- Search board
- Show/hide done
Phase 2 actions
- Move card between lanes
- Update priority
- Assign owner
- Add next action
- Mark blocked with reason
- Mark ready for approval
- Mark shipped/done
Phase 3 actions
- Create new card from Mission Control
- Convert inbox item into task/content/approval
- Create approval request
- Trigger Max/Jessica workflow
- Launch campaign workflow
- Schedule approved content
Implementation architecture
Option A — Fastest: use existing Airtable Tasks table only
Build /kanban from the existing Tasks table.
Pros:
- Fastest to build.
- Uses existing fields/statuses.
- Minimal schema risk.
Cons:
- Content, assets, approvals, and workflow runs still live separately.
- Less powerful as a true operator board.
Best use:
- Quick MVP.
Option B — Recommended: unified virtual Kanban
Build /kanban as a normalized view that pulls from multiple Airtable tables and maps them into one common card shape.
Example source mapping:
- Tasks → task cards
- Projects → project cards
- Content Queue → content cards
- Assets → creative cards
- Approvals → approval cards
- Workflow Runs → automation/run cards
Pros:
- Matches how MP actually works.
- One board for daily execution.
- Avoids forcing everything into Tasks.
Cons:
- More mapping logic.
- Drag/writeback requires per-table update rules.
Best use:
- Mission Control as a real operator console.
Option C — New dedicated Kanban Items table
Create a new Airtable table called Kanban Items that links to source records.
Pros:
- Cleanest long-term data model.
- Easy to manage lanes, ordering, WIP limits, custom views.
Cons:
- Requires Airtable schema changes.
- Risk of duplicate truth if not designed carefully.
Best use:
- If we want Kanban to become the main operating layer long-term.
Recommendation
Use Option B first: unified virtual Kanban from existing tables.
Then add a Kanban Items table later only if we need custom ordering, swimlanes, or more advanced board behavior.
This keeps momentum high and avoids schema churn.
Technical implementation plan
Step 1 — Add route and nav item
Add new app route:
mission-control-app/src/app/kanban/page.tsx
Add nav item in:
mission-control-app/src/lib/mission-control-data.ts
Suggested nav label:
- Label:
Kanban - Short label:
KB - Description:
Unified execution board across tasks, projects, content, assets, approvals, and workflow runs.
Step 2 — Create normalized card type
Create a helper file:
mission-control-app/src/lib/kanban.ts
Example type:
```ts
export type KanbanCard = {
id: string;
source: "task" | "project" | "content" | "asset" | "approval" | "workflowRun";
sourceRecordId: string;
title: string;
lane: KanbanLane;
priority?: string;
owner?: string;
business?: string;
campaign?: string;
dueDate?: string;
nextAction?: string;
blocker?: string;
status?: string;
href: string;
};
```
Step 3 — Map statuses into lanes
Use a lane mapper so each table can keep its own statuses while the Kanban stays consistent.
Example mapping:
Inbox,Idea,Draft→ InboxPlanned,Queued,Scheduled→ PlannedIn Progress,Running,Production→ In ProgressBlocked,At Risk,Failed,Error,On Hold→ BlockedReview,Approval Needed,Needs Approval→ Review / ApprovalReady,Approved→ Ready to ShipDone,Delivered,Published,Success,Shipped→ Done / Shipped
Step 4 — Build read-only MVP UI
Page sections:
- Header:
Mission Control Kanban - Filter chips: Business, Owner, Source, Priority, Show Done
- Board columns
- Cards with title, source badge, business, owner, priority, next action, due date
- Empty states
- Airtable error box if fetch fails
Implementation can mirror the existing /tasks board style but with normalized cards.
Step 5 — Add filtering/search
Since this requires client-side state, split into:
src/app/kanban/page.tsxserver component for fetching recordssrc/app/kanban/kanban-board.tsxclient component for filters/search/show-done
Step 6 — Add writeback actions
Add server actions or API route:
src/app/kanban/actions.ts
Actions:
moveKanbanCard(card, lane)updatePriority(card, priority)updateOwner(card, owner)updateNextAction(card, nextAction)
Each action maps back to the correct Airtable table and field names.
Step 7 — Drag and drop
Start with button-based lane changes first. Add drag/drop later if desired.
Possible approaches:
- Lightweight custom HTML drag/drop
- Add
@dnd-kit/corepackage for proper drag/drop UX
Recommendation: use buttons first, then add drag/drop once writeback is proven.
Field/writeback mapping
Tasks
- Lane →
Status - Priority →
Priority - Owner →
Assigned To - Next action →
NotesorNext Actionif field exists
Projects
- Lane →
Status - Owner →
Ownerif field exists - Next action →
Next ActionorNotes
Content Queue
- Lane →
Status - Platform →
Platform - Campaign →
Campaign - Due date →
Published Dateor scheduled date field
Assets
- Lane →
Status - Approval →
Approval Statusif available - Output → asset link/attachment field
Approvals
- Lane →
Status - Decision → approval result
- Owner → approver/requester field
Workflow Runs
- Lane →
Run Status - Error/blocker →
Error - Output → result/summary field
How MP would use it
Morning use
Open Mission Control → Kanban.
Check:
1. Blocked
2. Review / Approval
3. In Progress
4. Ready to Ship
The board answers:
- What do I need to approve?
- What is Max/Jessica working on?
- What is stuck?
- What can ship today?
During work sessions
Use it as the active execution surface:
- Move campaign items from Planned → In Progress.
- Move creative assets to Review / Approval.
- Move approved content to Ready to Ship.
- Move posted/sent work to Done / Shipped.
For campaign launches
Example: Florida Renu Father’s Day campaign
- Brief → Planned
- Creative assets → In Progress
- Contact sheet / approval deck → Review / Approval
- Approved posts → Ready to Ship
- Scheduled/published posts → Done / Shipped
- Pricing uncertainty → Blocked
For Max/Jessica coordination
Jessica can use the board to:
- Monitor active lanes
- Escalate blocked items
- Prepare approval summaries
- Keep campaign tasks moving
- Update docs after completion
Max uses it to:
- Prioritize strategy
- Decide next moves
- Delegate sub-agent work
- Keep execution from fragmenting across chats/files
Board rules
To keep it useful:
1. In Progress should stay small. Ideally 3–7 items max.
2. Blocked must have a blocker reason. No vague blocked cards.
3. Review / Approval must say exactly what decision is needed.
4. Ready to Ship must have an output link or clear final action.
5. Done / Shipped must include shipped date or proof when possible.
6. Inbox should be triaged daily or weekly.
MVP build scope
Recommended first build:
/kanbanroute- Top nav link
- Unified read-only board from Tasks, Projects, Content Queue, Assets, Approvals, Workflow Runs
- Status-to-lane mapping
- Search/filter by business, owner, source, priority
- Card links back to source pages
- Show/hide Done lane
Do not build drag/drop first. Get the unified view correct first.
Phase 2 scope
- Update lane/status from board
- Add quick edit for priority/owner/next action
- Add create-card button
- Add Approval-only view
- Add Campaign view
- Add WIP count warnings
Phase 3 scope
- Drag/drop
- Custom ordering
- Kanban Items table if needed
- Saved views
- Agent assignment actions
- Command Desk integration: “Create Kanban card from this chat”
- Daily brief integration: “Top board changes since yesterday”
Suggested first implementation sequence
1. Build read-only /kanban page.
2. Normalize all existing table records into cards.
3. Add filters/search.
4. Test with current Airtable data.
5. Add a Florida Renu Father’s Day filtered view/use case.
6. Add writeback only after we confirm the field mapping is safe.
Final recommendation
Build the Kanban board as Mission Control’s execution cockpit — a unified, filtered, operator-first layer over the existing Airtable-backed system.
Start read-only, prove the view is useful, then add update/writeback. This avoids breaking Airtable while giving MP immediate clarity on what matters next.