Skip to main content
Poindexter is an open-source, self-hosted AI content factory. It researches, writes, reviews, and publishes long-form content on your own hardware — with a human-in-the-loop approval queue and 13 QA rails that catch hallucinations before anything ships.
The Pipeline dashboard that ships with Poindexter — drafts arrive scored, weak ones auto-rejected, survivors queued for one-click approval

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 — eighteen 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 13 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

13 QA rails

Cross-model critics, DeepEval (×3), native guardrails (×2), Ragas, citation verification, vision QA — every post survives the gauntlet or gets rejected.

60+ registered jobs

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

18 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.

12 Grafana dashboards

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

44-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.