← knowledge.oriz.in

omni-post-app shape — admin dashboard for the omni-publish package

decision decisionappomni-postomni-publishadmin-dashboardauth-gated

omni-post-app shape

Two surfaces, one app

omni-post.oriz.in/ — public

Read-only catalog. "Where I post" list: every channel the oriz family auto-publishes to (dev.to / Hashnode / Bluesky / Mastodon / Threads / Medium / X / Reddit / LinkedIn / Substack). One card per channel: handle, last-post timestamp, post count, profile URL. Useful for readers who want to follow on their preferred platform.

omni-post.oriz.in/admin — auth-gated dashboard

Panel What it does
Pending drafts queue Reads GH Issues from chirag127/oriz-drafts (per [[decisions/compute/drafts-queue-host]]); lists by label platform:*
Cross-post history Per platform: last N posts, success/failure status, response URLs
Retry per platform Manual re-fire of a failed adapter (after rate-limit cache cleared)
Edit-before-publish UI For drafts (manual channels): rewrite copy, attach image, mark "posted" ? closes the GH issue

Auth

/admin requires Firebase Auth sign-in + admin-email allowlist. Allowlist is a constant in src/lib/admins.ts (single source: the user's primary email + one backup). No multi-tenant — this is a single-user tool.

Wraps @chirag127/omni-publish

The app is a UI shell; all platform logic lives in the package. The app calls the package's adapter functions for retry and history-fetch.

Why an app at all (not just CLI)

The package alone covers automated publishing. The dashboard exists for:

Cross-refs