Skip to main content
Poindexter is an open-source, self-hosted AI content pipeline. It researches, writes, reviews, and publishes long-form content on your own hardware — with a human-in-the-loop approval queue and six independent QA rails that catch hallucinations before anything ships.

Get up and running

From git clone to your first generated post in about thirty minutes. Includes the bootstrap CLI, Docker stack, and a health-check walkthrough.

Understand the architecture

The kernel/module/capability structure, the LangGraph pipeline, the three anti-hallucination layers, and how the pieces compose.

Operate it in production

Day-2 runbooks: incident response, backups, secret rotation, disaster recovery, and the CI/deploy chain.

Extend with plugins

Add a new Stage, Reviewer, Publishing Adapter, Tap, or Module — twenty plugin entry-point groups, all step-by-step.

What is Poindexter?

Poindexter is a single-operator content engine. One person, one machine, a local Ollama install, and a Postgres database. The pipeline pulls topics from configurable sources, drafts with a writer LLM, reviews adversarially with a different LLM, runs six OSS QA rails over the result, and hands you a queue of posts to approve from your phone. Everything tunable lives in the app_settings table — no .env to babysit. The engine is Apache 2.0. A separate Poindexter Pro add-on at gladlabs.ai bundles tuned prompts, extra Grafana dashboards, and a long-form book — the engine itself stays free and runs without it.

By the numbers

6 OSS QA rails

DeepEval (×3), guardrails (×2, native), and Ragas — every generated post is judged by all six before it can be auto-published.

39 scheduled jobs

PluginScheduler boots taps, retention sweeps, memory hygiene, and content surfaces on declarative DB rows. No hand-rolled cron.

20 plugin entry points

Tap, Probe, Job, Stage, TopicSource, LLMProvider, ImageProvider, PublishAdapter, Module, and more — every surface is a registered Protocol.

$0/month infra

Fully self-hosted. Ollama on your GPU, Postgres on the box, no paid API in the critical path.

13 Grafana dashboards

Mission Control, Pipeline, Cost, Observability, System Health, Integrations, QA Rails, Findings, Revenue, Experiments & Dry-Run, Database, Hardware & Power, and SEO Harvest — pre-provisioned.

38-node pipeline

canonical_blog graph_def: write → self-review → citation repair → images → QA rails → SEO → media scripts → finalize.

Contribute

GitHub

Issues, discussions, pull requests. Apache 2.0 licensed.

Contributing guide

How to set up a dev environment and ship your first PR.