Gene Hartsell

Documentation Samples

Copyright © 2025 Gene Hartsell

Powered by Hugo & deployed on Cloudflare

About

I’ve had the pleasure of writing complex developer and engineering documentation for great companies across a broad domain spectrum. These projects afforded me the opportunity to immerse myself in new technologies and engage with the latest documentation methodologies and tools.

These are some of the types of documentation products I created:

  • ▪ Web API, native API, and CLI references and user guides
  • ▪ Tutorials and cookbooks
  • ▪ Hardware reference guides and technical notes
  • ▪ Software design and methodology specifications
  • ▪ Various tool and technology user guides

Where code examples are shown in the docs, I wrote and tested original code using the target programming or scripting language.

Feel free to browse the publications and reach out if you have any questions: gene@docity.dev.

Publications

Serverless document database

Fauna Docs

(AsciiDoc / Antora)

As the lone tech writer, I was responsible for the information architecture, content, CI/CD workflow, docs-as-code process, and Markdown and GitHub style guides. I implemented processes and tooling to ensure high documentation quality.

Application Framework

Splunk Application Framework Getting Started

(Confluence wiki)

My initial task was to provide reliable, clear, and accurate documentation for developers creating Splunk applications. This tutorial provided a quick introduction to building a Splunk application.

Splunk Application Framework Cookbook

(Confluence wiki)

The cookbook was at the heart of the documentation initiative to facilitate onboarding developers for creating Splunk applications. The cookbook provided a set of graduated, hands-on tutorials that gradually introduced developers to increasingly complex Splunk features.

Splunk REST API Reference

(Confluence wiki)

In volunteering to take responsibility for the REST API, I defined a developer-friendly API documentation format and replaced the existing automated documentation generation tool. OpenAPI was not an option.

Visualization API

OmniSci Vega User Guide

(reStructuredText / Sphinx)

As one of several areas I documented for the GPU-based SQL database, I documented the OmniSci interface to the Vega data visualization library, integrating the Vega language with SQL. The documentation opens with an at-a-glance tutorial to provide context followed by a set of tutorials of increasing complexity that walk the developer through OmniSci and Vega features.

OmniSci Vega Native API Reference

(reStructuredText / Sphinx)

The Vega API reference provides the syntactic details for using the Vega visualization language with OmniSci SQL.

Process Definition and Observability

Process Definition

(Markdown / Hugo)

As the documentation manager leading an international team of tech writers, I defined the docs-as-code process, created and maintained documentation tools, and reviewed and edited the content of other writers, while continuing to produce original content such as these examples. This document and subsections describe the implementation of a process definition mechanism, based on Camunda, for automating event handling.

Dashboard 2.0

(Markdown / Hugo)

This document and subsections show how to create dashboard visualizations, including Prometheus integration using PromQL.

Developer Guides

Configure Determined with Prometheus and Grafana

(reStructuredText / Sphinx)

This document describes the setup and configuration to enable a Grafana dashboard to monitor Determined hardware and system metrics on a cloud cluster, such as AWS or Kubernetes. For the Determined AI distributed training product, I worked closely with the ML engineer to document how to integrate Prometheus and Grafana with Determined AI. I defined the topic structure, enforced documentation style guidelines, and verified content accuracy.

Juniper Networks WAN SDN Controller Developer Guide

As a consultant, I wrote the developer guide for the Juniper Networks NorthStar WAN SDN Controller to describe how to create applications that provided visibility and control over IP/MPLS and optical layer flows for WAN analysis and optimization, using the REST API.

Ion Torrent Programming Guide with REST API Reference

As a consultant, I provided the first documentation for the Ion Torrent DNA sequencing machine. The documentation included a programming guide and REST API reference documentation. Pre-OpenAPI, I created a Python tool to traverse resources and autogenerate the REST API. I would later employ a similar mechanism at Splunk.

Hardware reference manuals

Configuration and programming software (CAPS) tool for STR9 families

(FrameMaker)

I worked with hardware engineers to document the UI for the STMicroelectronics STR9 configuration tool, assisting in debugging the tool. My previous experience writing board support packages, device drivers, and operating systems proved valuable in producing complete and accurate documentation.

Single-board computer with Integrated Data Acquisition and Configurable CPU

(LibreOffice/XSLT)

One of several hardware modules I documented, I provided a detailed reference for how to configure and use this single-board computer. For all documentation, I created an XSLT-based documentation tool that allowed WYSIWYG authoring by publishing OpenOffice ODF formatted files to HTML and PDF formats. I presented the tool and methodology, which sought alignment with the Darwin Information Typing Architecture (DITA), at STC Silicon Valley.

High Integration Single-board computer with Ethernet and Data Acquisition

(LibreOffice/XSLT)

Another hardware reference manual that describes how to configure and use an Ethernet and data acquisition SBC.

Board with dual CAN ports, carrier for wireless and GPS modules

(LibreOffice/XSLT)

Yet another hardware reference manual that describes how to configure a board featuring carrier and wireless GPS.

Projects

Static site generator in Go that supports reStructuredText

I implemented this static site generator in Go. It’s inspired by the efficiency of Hugo and implements Sphinx paradigms to promote a documentation-centric authoring environment.

Sample output of the Go static site

This is an example of the output produced by the above Go static site generator.

WYSIWYG LibreOffice frontend for creating Markdown or reStructuredText content

This Python documentation tool uses an XSLT specification to convert ODF XML to Markdown or reStructuredText, enabling a writer-friendly, WYSIWYG authoring environment.

Sample microcontroller kernel developer guide

This example demonstrates a 3-panel Hugo theme for showing examples in parallel with the documentation, which is popular for developer reference documentation. The content describes a kernel that I designed and implemented, which was written in C and assembly language.

Microcontroller kernel SDK documentation source

This is the Hugo static site source for the above 3-panel kernel documentation.