OpenWork Development Roadmap: Complete Guide to Features, Status, and Architecture
OpenWork's product roadmap is defined in packages/ui/src/react/roadmap.tsx, a single TypeScript source file that drives the visual roadmap displayed at /roadmap and /docs/roadmap, organized into six product sections with five status tiers from Live to Exploring.
OpenWork is an open-source AI workspace platform that unifies desktop clients, cloud infrastructure, and multi-agent connectivity. The project's openwork development roadmap is unique in that it ships as code—roadmap data, rendering logic, and UI components all live in the same monorepo that powers the product itself. This article breaks down the roadmap architecture, the six strategic product areas, and how developers can consume or extend the roadmap programmatically.
How the OpenWork Roadmap Is Architected
The roadmap implementation follows a strict separation between data model, status semantics, and presentation. All core logic resides in packages/ui/src/react/roadmap.tsx, which exports both the raw data structures and the OpenWorkRoadmap React component.
Data Model and Types
Three TypeScript types govern every roadmap entry:
RoadmapStatus– discriminated union of'live' | 'partial' | 'building' | 'next' | 'exploring'RoadmapItem– individual feature withtitle,description, optionalcallout, andstatusRoadmapSection– product area containingid,eyebrow,title,description, anditems[]
The statusDetails registry maps each status to presentation metadata:
// From packages/ui/src/react/roadmap.tsx
const statusDetails = {
live: { label: 'Live', color: 'green', tooltip: 'Available now' },
partial: { label: 'Partial', color: 'yellow', tooltip: 'Limited availability' },
building: { label: 'Building', color: 'blue', tooltip: 'In active development' },
next: { label: 'Next', color: 'purple', tooltip: 'On the immediate horizon' },
exploring: { label: 'Exploring', color: 'gray', tooltip: 'Under consideration' },
} as const;
Rendering Pipeline
The OpenWorkRoadmap component composes three layers:
- Header – title, last-updated timestamp, and action links (feedback, docs)
- Status Legend – visual key for the five badge colors
- Section Grid – iterates over
roadmapSections, rendering each viaRoadmapSectionBlock
Page integration happens in ee/apps/landing/app/roadmap/page.tsx, which wraps the component in RoadmapPageShell for consistent navigation:
// ee/apps/landing/app/roadmap/page.tsx
import { RoadmapPageShell } from '@/ee/apps/landing/components/roadmap-page-shell';
import { OpenWorkRoadmap } from '@/packages/ui/src/react/roadmap';
export default function RoadmapPage() {
return (
<RoadmapPageShell>
<OpenWorkRoadmap />
</RoadmapPageShell>
);
}
The Six Product Sections of the OpenWork Roadmap
The roadmapSections array in roadmap.tsx organizes development into six strategic pillars. Each section contains 3–8 items with explicitly assigned statuses.
Desktop App Is Home (desktop-home)
Positioning the desktop client as the primary workspace for files, skills, plugins, and artifacts.
| Item | Status | Description |
|---|---|---|
| Desktop app for macOS/Windows/Linux | Live | Native builds for all major platforms |
| Scheduled tasks | Partial | Basic cron-like execution, UI pending |
| Live artifacts | Next | Real-time collaborative file editing |
Your Setup Follows You (setup-follows)
OpenWork Connect enables portable configuration across AI agents (Codex, Claude Code, etc.).
- OpenWork Connect MCP – Live: Model Context Protocol server for external agent integration
- Git-based publishing – Building: Version-controlled skill and plugin distribution
Central Management (central-management)
OpenWork Cloud provides organization-wide governance.
- Desktop policies – Live: Enforced security and behavior rules for desktop clients
- OpenTelemetry coverage – Building: Full observability pipeline for cloud operations
A Workspace That Stays On (hosted-workspaces)
Persistent cloud workspaces for durable execution and reproducible environments.
- Remote workspace connections – Live: SSH-style attach to running cloud sessions
- Persistent hosted workspaces – Building: Always-on containers with stateful storage
OpenWork on Every Surface (every-surface)
Multi-channel access beyond the desktop.
| Item | Status |
|---|---|
| Slack integration | Next |
| Mobile applications | Next |
| Custom organization agents | Exploring |
Systems, Not Just Conversations (systems)
Reliable, repeatable agent-driven workflows with operational guarantees.
- Search and execute – Live: Natural language to tool invocation
- Authenticated multi-step execution – Building: Approval gates and audit logging for sensitive operations
Programmatic Access to Roadmap Data
Because the roadmap ships as TypeScript, developers can import and manipulate it directly for custom dashboards, CLI tools, or static site generation.
Embedded Component with Custom Links
import { OpenWorkRoadmap } from '@/packages/ui/src/react/roadmap';
export default function ChangelogPage() {
return (
<OpenWorkRoadmap
feedbackHref="https://github.com/different-ai/openwork/issues/new"
docsHref="https://openworklabs.com/docs/roadmap"
/>
);
}
Raw Data Consumption
For static generation or alternative renderers:
import { roadmapSections } from '@/packages/ui/src/react/roadmap';
// Generate markdown changelog
function generateChangelog() {
return roadmapSections.map(section => [
`## ${section.title}`,
section.description,
'',
...section.items.map(item =>
`- **[${item.status.toUpperCase()}]** ${item.title}: ${item.description}`
),
''
].join('\n')).join('\n');
}
The module path @/packages/ui/... resolves via the monorepo's pnpm-workspace.yaml configuration, which declares the packages/ui workspace.
Key Files in the Roadmap System
| File | Purpose |
|---|---|
packages/ui/src/react/roadmap.tsx |
Core data model, status registry, and OpenWorkRoadmap component |
packages/ui/src/react/index.ts |
Public API exports for consumers |
ee/apps/landing/app/roadmap/page.tsx |
Production landing page at /roadmap |
ee/apps/landing/components/roadmap-page-shell.tsx |
Layout wrapper with navigation |
packages/docs/roadmap.mdx |
Documentation site mirror of the roadmap |
Summary
- The openwork development roadmap is executable documentation: a TypeScript module that renders to web UI while remaining importable as structured data.
- Five status tiers—Live, Partial, Building, Next, Exploring—provide unambiguous communication about feature maturity.
- Six product sections cover desktop dominance, portable configuration, cloud management, persistent workspaces, multi-surface access, and systematic agent workflows.
- Developers can embed
OpenWorkRoadmap, importroadmapSectionsfor custom processing, or extend the data model for internal tracking.
Frequently Asked Questions
Where is the OpenWork roadmap source file located?
The canonical source is packages/ui/src/react/roadmap.tsx in the different-ai/openwork repository. This file contains the roadmapSections array, statusDetails registry, and the OpenWorkRoadmap React component used by both the landing site and documentation.
How often is the OpenWork roadmap updated?
The roadmap header displays a manual "Updated" timestamp—currently "August 2026"—indicating the last editorial review. Feature statuses are updated as implementation progresses through the development pipeline.
Can I use the OpenWork roadmap component in my own project?
Yes. The OpenWorkRoadmap component is exported from packages/ui/src/react/index.ts and can be imported into any React application that respects the monorepo's workspace configuration. You can override the feedback and documentation links via props, or import roadmapSections directly for custom rendering.
What do the five roadmap status labels mean?
Live features are production-ready and generally available. Partial indicates limited availability or incomplete functionality. Building marks features in active development. Next identifies immediate upcoming priorities. Exploring denotes research-phase ideas without committed engineering resources.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →