Product

Register

product

Platform

web

Users

Engineering and quality teams who plan, author, and trace technical documentation throughout a systems-engineering project lifecycle. Primary users work with V-Model deliverables — generating and maintaining SRS, SVD, STD, and STR documents from source code repositories.

The deliverable set targets defense and aerospace documentation standards (MIL-STD, ECSS). Document type names, lifecycle stage naming, and traceability structure follow that regime — they are domain terminology, not labels to be reworded for friendliness.

Sessions are long and task-focused: a user configures a project once, then returns repeatedly to author, regenerate, review, and trace. There is no casual or first-time-visitor audience.

Product Purpose

MILTON provides a unified workspace where teams configure project templates, link documentation blocks to source repositories, generate PDF deliverables, and trace requirements through every stage of development — all driven by AI-assisted document generation that keeps the documentation set consistent with the codebase.

Positioning

The documentation workspace that closes the loop between source code and V-Model artifacts — so traceability, compliance, and consistency are built into the engineering workflow rather than bolted on after the fact.

Operating Context

The user’s path through the product, as the shipped routes describe it:

  1. Project — create a project, land on its dashboard (/projects/:id/dashboard).
  2. Sources (/projects/:id/sources) — register Git repositories by URL, set file exclusions, optionally enable LLM-assisted naming, then run a cluster scan that returns detected clusters and components. Repositories are cloned server-side onto a shared volume; the scan snapshot is cached per repository.
  3. Configuration (/projects/:id/config) — set the project’s LLM behavior via three presets (Writer, Coder, Analyst) with per-project overrides and API keys stored encrypted.
  4. Templates (/projects/:id/templates, .../:templateId/edit) — build a document template on a node canvas (XYFlow) with a structure sidebar, style panel, live preview panel, manual text editor, a file-source table, and a command palette. Templates are instantiated into real documents.
  5. Documents (/projects/:id/documents, .../:documentId) — the generated document, block by block, with a PDF deliverable at the end.
  6. Settings (/settings) — account and application settings.

Generation is asynchronous and long-running. The client joins a SignalR document group and receives Progress, BlockUpdated, BlocksAdded, SectionsAdded, DocumentCompleted, and Error pushes while a document builds. Waiting is a first-class state in this product, not an edge case — progress, partial results, and failure of an individual block must all be legible without a page reload.

Access is authenticated (Keycloak behind a BFF) and multi-tenant. The session carries roles, permissions, and a tenantId; the UI is expected to reflect permission differences rather than assume a single all-powerful user.

Capabilities and Constraints

Content model. Documents are made of sections and polymorphic content blocks. Block types are fixed: Requirement, TestCase, TestResult, Text, Mermaid, Scanner, TraceMatrix. Each has genuinely different shape and density — a trace matrix and a paragraph of text cannot share one card treatment. Blocks may spawn further blocks during generation, so a document’s structure grows while the user watches it.

Frontend stack (existing, not up for re-selection). React 19 + TypeScript, Vite, TanStack Router (file-based routes) / Query / Table, Tailwind CSS v4, shadcn + Radix primitives, @xyflow/react for the template canvas, TipTap for rich text, dnd-kit for reordering, framer-motion, sonner for toasts, react-hook-form + zod. The API client under src/api/ is generated by orval from the API’s OpenAPI document — do not hand-edit it. Theming runs through next-themes with an explicit dark variant for every surface.

Hard technical constraints:

  • No external CDNs or remote assets — ever. All fonts, CSS, JS, and images are vendored locally (Roboto and Roboto Slab ship via @fontsource-variable). The application is built to run without internet access.
  • No third-party analytics, embeds, or hosted widgets.
  • Committed brand marks live in public/: M.svg, M-transparent-light.svg, M-transparent-dark.svg.

Undecided / not yet established: pricing, licensing, packaging, public marketing surface, onboarding for external customers, and localization. None of these have been decided; work must not assume them.

Brand Commitments

Personality. Precision, clarity, intelligence. Serious tool for serious documentation work — not flashy, not playful, but unmistakably well-crafted. The interface communicates confidence through restraint: clean hierarchy, purposeful spacing, color used sparingly to guide attention.

Name and marks. “MILTON”. The M marks in public/ are the only committed identity assets.

Anti-references (confirmed as binding):

  • B2B SaaS clichés (generic dashboard templates, purple-to-blue gradients, over-rounded cards)
  • “Startup playbook” design — no celebratory badges, no cartoon mascots, no gamification
  • Over-styled documentation UIs that prioritize decoration over content density
  • Dark patterns or “delightful” micro-interactions that get in the way of power users

Evidence on Hand

MILTON is internal and not yet deployed. There are no external users.

What exists: the running application and the documents it produces, the M brand marks, and the codebase itself.

What does not exist and must never be fabricated: customers, logos, testimonials, quotes, case studies, press, adoption numbers, benchmarks, uptime or accuracy metrics, certifications, pricing, and any claim of production use. If a surface needs proof, it uses real product output or it says nothing.

Product Principles

  • Content first, chrome second. The document content and structure hierarchy drive layout decisions. Chrome (sidebar, header, panels) recedes when the user is focused on writing.
  • Predictable structure. Every page answers “where am I and what can I do here?” within a glance. Consistent navigational patterns across projects, documents, templates, and settings.
  • Precision over novelty. Standard controls that behave as expected. No custom interactions that break keyboard nav or screen readers.
  • Density without clutter. Information-dense screens (document editors, trace link tables, template canvases) use careful whitespace and surface hierarchy to avoid overwhelming.
  • Dark mode is a first-class citizen, not an afterthought. Every surface, token, and elevation value has an explicit dark variant designed for extended sessions.
  • Long-running work stays legible. Generation takes minutes and streams in. Progress, partial documents, and per-block failure are designed states, not spinners bolted on afterward.

Accessibility & Inclusion

  • WCAG AA as the baseline target. Body text contrast ≥ 4.5:1 measured against actual background tokens, not against white.
  • Keyboard-navigable throughout — all interactive elements reachable and operable without a pointer.
  • prefers-reduced-motion respected for every animation and transition.
  • Focus indicators visible at every interactive boundary.