PawPoller Download
Posting

Write it once.
Post it twelve places.

One Markdown source becomes every format each platform wants — BBCode, SoFurry HTML, AO3/SquidgeWorld work skins, print-ready PDF — and posts where you tell it to. Nothing goes live without your confirmation.

Posting one chaptered story to Inkbunny, SoFurry, AO3, FurAffinity, and SquidgeWorld means juggling five formats, five tag systems, five login sessions, and remembering whether each platform wants Markdown, BBCode, or CSS-scoped work-skin HTML.

PawPoller does it once.

Three steps. One source of truth.

01

Write in Markdown

A single MASTER.md per story, with HTML-comment anchors marking the title, byline, warnings, body, and any inline semantic blocks (text messages, phone calls). An in-app editor with a toolbar inserts them for you.

02

Regenerate every format

One click rebuilds BBCode, SoFurry HTML, styled HTML, SquidgeWorld work skins, and PDFs. WeasyPrint does the heavy lifting on Linux; Edge handles it on Windows. All generated files land in the same folder as your MASTER.md.

03

Publish with confidence

The publish-check matrix shows every chapter-platform combination at a glance. Dry-run to see what would post, or confirm and push. Retry queue handles transient failures; drift detection flags stale posts months later.

Built for the way fiction actually ships.

Every feature exists because a writer complained about something. Format conversion, per-chapter everything, tag dialects per platform, drift detection: not generic CMS features, but the specific pain points of publishing stories.

Multi-format conversion

Your MASTER.md becomes BBCode for Inkbunny, SoFurry HTML, work-skin styled HTML for AO3 and SquidgeWorld, and a print-ready PDF, all in one regeneration pass.

Chaptered posting

Split a multi-chapter novel automatically. Each platform gets the right flavour: AO3 creates a work plus chapters, Inkbunny posts a single submission, SoFurry pushes a chaptered thread.

Publish-check matrix

One grid shows every chapter against every platform. Red cells need attention, green cells are posted, amber cells have drifted from your source file. Click to fix inline.

Collections

Bundle one piece — its story, every gallery post and announcement across all nineteen platforms — into a single master, with pooled analytics, merged tags and all its cross-platform links in one place.

Same-piece linking, no AI

PawPoller spots the same artwork posted to different sites — by title and by a native perceptual hash of the actual pixels — and offers to group them in one click. Runs locally; no AI, no cloud, no embeddings.

Per-chapter tags & thumbnails

Platforms that allow per-chapter metadata (Inkbunny, FA) get their own tag sets and chapter covers. The rest fall back to story-level gracefully.

Tag database & validation

4,600+ validated tags with per-platform rules. SoFurry uses spaces, FurAffinity uses underscores; you tag once and PawPoller reformats per target.

Drift detection

Edit a chapter six months after publishing and PawPoller flags every platform where the posted copy diverged from your source. One click per cell to republish just the stale ones.

Encrypted credential vault

Optional Fernet-encrypted store for platform credentials, keyed against your OS keyring or a dotfile. Plaintext settings.json stays credential-free.

Import what you already have

Point PawPoller at an existing Inkbunny, SoFurry, or FurAffinity story URL and it pulls the content, converts to Markdown, and sets up the folder. No retyping.

See exactly what will post.

Edit once on the left; every derived format updates. The publish-check matrix shows every chapter against every platform before a single thing goes out.

Four-pane editor, one source
Four-pane editor, one source

Markdown source on the left with semantic anchors (<!-- @title -->, <!-- @warning -->, <!-- @disclaimer -->). Rich preview, Clean HTML source, and HTML render side by side. Edit once; every derived format stays in sync.

Publish to 12 platforms in one grid
Publish to 12 platforms in one grid

Chapter × platform matrix shows where every chapter stands: ready, posted, drifted (local file changed since upload), blocked (validation failure), or not-supported. Hit "Publish all new" once and the matrix walks every cell.

Twelve places it posts.

Six fiction archives (Inkbunny, FurAffinity, SoFurry, Weasyl, AO3, SquidgeWorld), three art galleries (DeviantArt, Itaku, e621), Bluesky for announcements and Instagram for photo posts. FurAffinity posting runs desktop-only because of its datacenter-IP block; a few targets are still undergoing testing.

PostyBirb is great, for illustrators.

PawPoller takes the same "one source, many platforms" idea and rebuilds it for the specific pains of publishing chaptered fiction. Different tool, different audience, same respect for multi-platform posting.

PostyBirb PawPoller
Content type Illustrations Chaptered fiction
Per-post unit A single image + description A whole story with N chapters
Format conversion Text descriptions BBCode, HTML, work-skin CSS, PDF
Per-chapter metadata N/A Tags, descriptions, thumbnails per chapter
Drift detection N/A Flags stale posts when the source changes
Analytics None Views, faves, comments over time
Primary audience Visual artists Fiction writers

If you post illustrations, go to postybirb.com. It's genuinely the right tool.

Stop reformatting the same story six times.

Free, MIT licensed, local-first. Native desktop builds for Windows and Linux, or self-host with Docker.