San Antonio Review
A content workflow designed around trust, not throughput.
San Antonio Review (SAR) runs on a custom theme, a custom submission workflow, and a coordinated set of LLM-augmented pipelines that handle production work behind the judgment decisions humans make. The question wasn’t how much to automate, but how to design automation into the workflow to support the four principles.
Whose trust is on the line, and what would the wrong automation cost?
A content operation like SAR has two trust relationships, both load-bearing, both invisible to most automation thinking. Contributors send work expecting it to be read by a person whose judgment is the reason SAR exists. Readers return because the voice is recognizable as human.
Most automation conversations skip past this and ask: what can AI do here? The right question is more difficult to answer: what is the essence of this operation, and what would automation destroy rather than support?
Judgment is not incidental to SAR; it’s constitutive. Automating any step that reads, evaluates, or shapes decisions wouldn’t make the content operation more efficient. It would change the essence of what SAR is.
A system that takes on production work without superseding human judgment.
Six components, two human-mediated approval gates, three trust boundaries. LLM-augmented pipelines handle the production work that’s invisible to both contributors and readers: image creation, social distribution, author metadata, and formatting. Discernment decisions stay where they belong: with humans, gated and auditable.
What’s missing matters as much as what’s there.
Every component below was technically achievable and tempting. Each one was rejected for the same kind of reason: it would have crossed into human judgment, and the appearance of that crossing is itself a trust problem, even when human authority is technically retained.
Six components, three trust boundaries.
Three child forms (one per content category) inside a parent intake form, routed through a multi-stage approval pipeline. A custom gravityflow_step_complete hook prevents the Post Creation feed from firing until editorial approval finishes — otherwise GF creates a draft post the moment the form submits.
The choice not to use Submittable was load-bearing: it reduces editor context-switching, preserves formatting through the pipeline, increases transparency for contributors, and signals editorial identity from the first interaction.
Triggered on approved Gravity Forms entries. Creates or merges a PublishPress Author record using email-based deduplication, a three-field name system that prioritizes pseudonyms, and social URL normalization across six platforms plus Bluesky.
Bios are rewritten from first-person to third-person, inline social references stripped, publication titles italicized. Voice is preserved; presentation is standardized. Avatar upload runs through Google Cloud Vision for face-aware cropping — the contributor’s face stays centered regardless of input dimensions, with a clean fallback to standard WP cropping when no face is detected.
Workflow-triggered service hosted on Render. When an editor approves work in the high-volume content category, the service calls Claude to select three lines that function as an epigraph rather than a quote. It selects from fifteen single-layer PSD templates via weighted random selection, composites the text using Pillow, and saves the resulting JPEG directly to the WordPress Media Library for editor review.
The constraint that mattered: the templates are designed by hand. The agent’s job is selection and composition, not generation. The visual identity remains a design artifact, not an inference. Editors review each output before publication; if rejected, the agent regenerates against a different template.
A WordPress plugin that runs from the draft post screen. When the editor clicks generate, it sends the post content and author info to the same Render service the image agent uses; Claude returns platform-specific copy for Bluesky, Instagram, and Facebook. The editor reviews each platform’s copy, edits inline, regenerates per platform if needed, and approves.
Approved social copy stays attached to the draft and publishes alongside the content. LinkedIn was scoped out after platform review timed out during their approval process — an honest constraint rather than a design choice.
The current production dashboards are styled Gravity Flow inbox views — submission queue, entry detail, workflow state — customized so editors can see queue health and per-submission status without leaving the WP admin. The styling is part of the work: a generic Gravity Flow inbox doesn’t communicate where attention is needed; the SAR version does.
An on-demand second reader for borderline submissions. The editor registers their lean first, then optionally pulls Claude in as an engaged reader. Sequencing is the design: editorial judgment comes first, AI orientation comes second. Reverse the sequence and you reduce the editor to a verification machine — exactly the failure mode this case study is organized against.
The unified editorial area surfaces queue health, contributor history, pipeline state, and submission velocity in one place — the things editors currently track in their heads or across multiple admin screens.
Faster production, preserved identity, more time for the editorial work that matters.
Preserved
- Every judgment call remains a human decision.
- Visual identity stays a design artifact, not a generated output
- Contributors interact with humans, not with automation.
- Readers encounter a consistent, human-shaped experience.
Now possible
- A small team can run a high-volume, multi-category content operation.
- Submission volume can scale without proportional workload.
- Contributors get faster, more transparent responses.
- The model is portable to other content, ECM, regulated, and other operations.
Misty Cripps · Vaquita Design