Skip to content

Greenhouse Sentinel Documentation Demo

A fictional product with real documentation engineering behind it.

This is a public, self-documenting portfolio sample by Katie Kearns. Greenhouse Sentinel is a small fictional controller that watches three environmental signals and recommends a response before plants are stressed. Its limited scope makes the product documentation quick to understand while leaving enough structure to demonstrate a production-minded docs-as-code workflow.

Why This Demo Exists

This site is both a technical-writing sample and a reusable reference implementation. It shows how a documentation team can keep content reviewable in Git, publish a searchable site, customize presentation without rewriting source, detect broken navigation and cross-references, and generate portable Word and PDF deliverables.

Everything needed to evaluate the sample is documented on this site. The public GitHub repository provides the source and commit history for reviewers who want to inspect the implementation.

One Source, Several Useful Outputs

Authors maintain one set of accessible Markdown files. Automated checks verify navigation, internal links, anchors, and basic authoring rules. The publishing workflow then generates three outputs from that same reviewed source:

  1. this searchable Zensical site
  2. a Microsoft Word handbook
  3. a PDF handbook

The Word and PDF files are not separately maintained copies. When an approved Markdown change is merged, automation rebuilds all three outputs together.

What This Repository Demonstrates

Each feature is implemented in the public repository, not merely described in the portfolio narrative.

Feature Made With Why It Helps
Single-Source Authoring One reviewed set of Markdown files under docs/ Authors change content once instead of reconciling separate website, Word, and PDF copies
Explicit Navigation An ordered nav list in zensical.toml plus a check for unlisted pages Readers get a deliberate sequence, and reviewers can trace every published page to its configuration
Stable Cross-References Deliberate anchors on important targets, as shown by Decision States, plus automated fragment checks Heading edits cannot silently strand important links
Automated Validation scripts/validate_docs.py, which checks navigation, files, links, anchors, heading structure, and image text Routine defects are found in seconds and resolved before publication
Continuous Integration and Publishing A GitHub Actions workflow that repeats validation and generation from a clean copy of each proposed change Every release follows the same recorded process, improving consistency, accuracy, and traceability
Accessible Authoring Source standards, validation rules, accessible theme overrides, and a release checklist Accessibility is addressed while content is written and reviewed instead of as a late repair
Replaceable Branding CSS variables, a separate logo asset, and publishing configuration outside the Markdown An organization can change the visual identity without rewriting or forking technical content
Multi-Format Delivery Zensical for HTML, a Python export script for Word, and headless LibreOffice for PDF Teams serve web and portable-document readers without maintaining three competing sources
Self-Documentation Implementation notes, a complete build chapter, contributor guidance, and links to the actual configuration and scripts Another writer can inspect, explain, reproduce, or adapt the workflow without undocumented setup knowledge

See How This Repository Works for a closer look at the implementation and benefit of each feature.

Architecture at a Glance

One reviewed Markdown source
          |
          +--> validation --> pull-request and release gates
          |
          +--> Zensical --> searchable HTML site
          |
          +--> export script --> Word handbook --> PDF handbook

Brand tokens change presentation without changing source meaning.

The renderer can change while the release requirements remain stable. Explicit navigation, valid links and anchors, accessible structure, reproducible builds, and reviewable changes remain required.

The Fictional Product in 30 Seconds

Greenhouse Sentinel samples temperature, humidity, and soil moisture every 60 seconds. A rule engine assigns the greenhouse a state: normal, watch, or act. The operator dashboard explains the reading and links each alert to a documented response.

Portfolio disclosure

Greenhouse Sentinel does not exist. Its behavior, data, and interface are intentionally simple and invented. The repository exists to demonstrate documentation architecture, authoring, validation, CI, publishing, and multi-format delivery without confidential information.

What Is Included

Public Portfolio Scope

All product names, specifications, incidents, commands, and workflows in this demonstration are invented. The repository contains no Peraton-specific, customer, proprietary, export-controlled, or classified information. “ThreatBoard-style” describes the general docs-as-code pattern demonstrated by this sample, not copied content or branding.

Katie Kearns created this sample as a technical-writing and documentation-systems portfolio project. The code and documentation are available under the MIT License.