Architecture & data flow
Graphs generated from the project, not drawn by hand
Project Planner keeps architecture as data: components with types, technologies, dependencies, inputs, outputs and owners; flows with data types, classification and encryption. The System Map and Data Flow screens render that data — so when the project changes, the diagrams change with it.
System map
Components and dependencies
System Map
Preview — demo project contentFrontend · React Native
Offline-first client used by technicians in the field.
Frontend · React
Map-centric console for assigning and rescheduling jobs.
Storage · SQLite
Encrypted local cache of assigned work orders and pending changes.
APIs · Node.js · Fastify
Delta endpoints with cursor pagination and conflict merge.
APIs · Node.js · Fastify
Work orders, customers, technicians and schedules.
Backend · TypeScript
Business rules for scheduling, status transitions and validation.
AI · Provider abstraction
Proposes daily routes; suggestions are reviewed by dispatchers before applying.
AI · OpenAI / Anthropic compatible
Selects model and provider, tracks tokens and cost, applies fallbacks.
Database · PostgreSQL 16
System of record with row-level security per tenant.
Database · PostgreSQL table
Append-only change log used to compute deltas and resolve conflicts.
Authentication · OIDC · short-lived tokens
Sign-in, device binding and role claims.
Infrastructure · Redis Streams
Publishes domain events to notifications and sync.
Backend · Node.js worker
Sends arrival notifications by SMS and push.
External services · External service
Third-party messaging provider.
External services · External service
Geocoding, tiles and travel-time matrix.
Data flow
How data moves — and what kind of data it is
Data Flow
Preview — demo project content| From | To | Data | Classification | Encrypted |
|---|---|---|---|---|
| Technician | Mobile app | Status, photos, signature | Highpersonal | Yes |
| Mobile app | Pending change queue | Change records | Highpersonal | Yes |
| Pending change queue | Sync API | Change batch + cursor | Highpersonal | Yes |
| Sync API | Domain services | Commands | Lowinternal | Yes |
| Domain services | PostgreSQL | Rows + sync log | Highpersonal | Yes |
| PostgreSQL | Sync API | Delta batch | Highpersonal | Yes |
| PostgreSQL | Routing agent | Open jobs (anonymised) | Lowinternal | Yes |
| Routing agent | AI provider | Structured prompt | Lowinternal | Yes |
| AI provider | Routing agent | Route proposal | Lowinternal | Yes |
| Routing agent | Dispatcher console | Proposals + confidence | Lowinternal | Yes |
| Domain services | Customer notification | Arrival event | Highpersonal | Yes |
Decision records
Why the architecture looks the way it does
- ADR-001Offline-first mobile client with local SQLite store2026-08-21Accepted
- ADR-002PostgreSQL with row-level security per tenant2026-08-26Accepted
- ADR-003Provider-agnostic AI gateway; no vendor lock-in in agents2026-09-02Accepted
- ADR-004Append-only sync log for conflict resolution2026-09-20Accepted
- ADR-005Route proposals require dispatcher approval before applying2026-09-20Proposed
The application itself
How the Windows application is structured
- 01
UI
Application shell (sidebar, workspace, inspector), design system, screens. Consumes typed view models only.
- 02
Domain
Project, Requirement, Phase, Milestone, Task, ArchitectureComponent, DataFlowNode/Edge, Agent, AgentRun, MCPServer, Skill, Memory, Artifact, Decision, Audit, Test, Provider, Environment, GitState, Export.
- 03
Application services
Project creation and import, planning, traceability, graph building, blueprint and export generation, audits, event bus.
- 04
AI
Provider abstraction (OpenAI, Anthropic, Google, DeepSeek, compatible), model selection and fallback, cost tracking, agent runtime, skills, MCP client.
- 05
Visualization
Graph model, layered layout, filtering, grouping, highlighting, inspector integration.
- 06
Infrastructure & integrations
Local project storage, file system, file watcher, terminal (PowerShell, cmd, WSL), Git, environment detection, native notifications.
- 07
Security
Path validation, secret redaction, permission model for MCP, providers and command execution, encrypted local credential storage, audit records.
Project identity: the .pp file
Every Project Planner-managed project carries a plain-text .pp file in its root. It tells humans and AI development tools to read the planning directory first — identity, requirements, architecture, development instructions, agent instructions, skills, MCP configuration, memory, constraints, security, testing and deployment requirements — before acting.
# Project Planner identity file
version = 1
project = Atlas Field Service
project_type = saas
planner_folder = ./project-planner
schema_version = 1
created_at = 2026-08-14Planning directory
Planning documentation lives beside the application source, never inside it.
ProjectRoot/
├── .pp
├── application/
└── project-planner/
├── README.md
├── project-identity/ ├── requirements/
├── architecture/ ├── data-flow/
├── ui-ux/ ├── agents/
├── skills/ ├── mcp/
├── memory/ ├── development/
├── testing/ ├── security/
├── compliance/ ├── deployment/
├── decisions/ ├── changelog/
├── artifacts/ ├── presentations/
└── blueprint/