Skip to content

Editorial system · Case study Demo

HODHOD

A newsroom flow that keeps source review and publishing decisions visible.

HODHOD brings feed intake, article selection, Arabic editing, Persian translation, image prompting and WordPress draft preparation into one workspace. The public demo runs live allowlisted RSS and payload generation; AI actions stay disabled until a server-side provider credential exists.

The public runtime for this project is temporarily unavailable.

React · Vite · Vinext API · RSS

Actual HODHOD newsroom dashboard running in a desktop browser
Actual running public integration · desktop
Mohammed Mahdi Kaabi’s role
Product design and full-stack software development, including the bilingual workflow and provider integrations.
Product version
1.0.0 · Demo
App language
Persian and Arabic
01

The problem

Small editorial teams often move between feed readers, translation tools, image tools and a CMS. That fragmentation hides provenance and makes it easy to confuse generated copy with reviewed reporting.

02

What is implemented

Review live feeds

Select approved publishers, fetch current RSS entries and keep the original source link attached. The public endpoint rejects arbitrary URLs.

Edit with human control

The source integrates provider-backed Arabic editing and Persian translation, with explicit source attribution and a manual-review mode. Public AI actions are disabled because no production credential is configured.

Prepare images

The workflow stores an image prompt and can call an image-capable provider when configured. It does not claim that generation is available in this public build.

Build a WordPress draft

Create a sanitized WordPress REST payload for review. The demo does not connect to or publish on a production WordPress site.

Keep work local

Workspace and archive state use HODHOD-specific localStorage keys in the visitor’s browser; this deployment has no database.

03

An isolated public integration

The React/Vite client is built under a scoped base path. Same-origin Vinext routes expose only allowlisted RSS retrieval and bounded payload generation. There is no open CORS policy, arbitrary feed proxy, database, service worker or client-side secret. AI routes fail clearly with HTTP 503 until a server-side credential is configured.

  1. Choose sources
  2. Review live story
  3. Edit and translate when configured
  4. Inspect draft payload

04 · Evidence

What the source establishes

The inspected clean 1.0.0 repository contains the executable Express API, React interface, Persian and Arabic strings, RSS and provider integrations, WordPress payload builder, responsive styles and 13 passing UI tests. The public integration removes synthetic fallbacks instead of presenting them as live output.

Source revision 00fd813 · 2026-07-18

Actual running public integration · mobile
Actual running public integration · mobile
05

Boundaries of this demo

  • AI editing, translation and image generation are unavailable because the production site has no provider credential.
  • Feed retrieval depends on third-party RSS availability and is limited to a fixed publisher allowlist.
  • HODHOD creates a WordPress-compatible draft payload; it does not authenticate to WordPress or publish a post.
  • The original logo is excluded because its publication rights were not documented in the repository.
  • The original Express session settings were adapted to stateless server routes; browser workspace and archive data remain local to the device.
Assets and third-party material

The package declares MIT, but the inspected repository contains no standalone LICENSE file. Direct browser dependencies declare MIT or ISC. The undocumented h.png asset is not published. Live feed metadata is fetched on demand and is neither bundled nor stored.

Third-party notices

Open the newsroom workspace

Try live RSS review and inspect the guarded provider state. No account is required.

The public runtime for this project is temporarily unavailable.