Inspiration
RIMAZ is a short-video platform for Moroccan creators and small sellers. This project focuses on one seller task: choosing a product, turning its catalogue description into a short ad script, and reviewing a draft without accidentally posting it.
What it does
The web app simulates an Alexa+ seller conversation. A seller lists a store's products, picks a product by number or full title, and asks for an ad in Darija, French, or English. The client calls a self-hosted MCP server and shows every tool call and returned result. A draft preview makes the title, script, language, and generation source visible. The output is a text/image post draft with a script and optional existing product image, not a generated video reel. Changing stores clears the previous store's products and draft.
The demo reads a seeded, clearly marked DEMO store from the real RIMAZ public API. Draft creation is stateless: no draft is saved and no post is published. publish_reel is a hard-disabled placeholder in this release. It refuses without a database call, even with confirmation, token, and an enable environment flag. The earlier write implementation was mock-tested only; it is no longer executable.
Ad copy currently uses a clearly labelled deterministic template. The code includes an optional model path, but it is switched off in the hosted demo, has not been tested live, and is not used. The simulator uses rule-based request routing, not Alexa's own NLU. Language templates wrap catalogue descriptions unchanged and do not translate them. Darija over English demo descriptions produces mixed-language text and can include doubled punctuation; no localized-writing quality is claimed. Browser speech recognition is optional and unverified; typed input is the reliable demo path.
How we built it
The backend uses the official Model Context Protocol TypeScript SDK with protocol version 2025-11-25 over Streamable HTTP. The five tools are list_store_items, draft_ad_script, create_reel_draft, publish_reel, and get_channel_stats. Supabase REST supplies public catalogue and channel data. The simulator uses JavaScript modules and JSON-RPC calls to the MCP server. Cloudflare Workers hosts the MCP endpoint and static simulator assets at https://rimaz-alexa-mcp.magpro369.workers.dev/. The hosted handshake identifies server version 0.3.3.
What is new
The RIMAZ platform is the underlying product, not a claim that the whole platform was built for this entry. The hackathon work is the new MCP integration and seller-assistant simulator: tool schemas, stateless draft workflow, explicit product choice, store-switch safeguards, visible tool traces, generation-source labels, publish guard, and tests. The committed release source was inspected at 037f3bc1ac8abfe816b56860ba077bfe5b353669. The repository history shows all code was committed October 6 to 7, 2026 (first commits: initial wrangler.toml and README on October 6; release commit 037f3bc on October 7). The earlier RIMAZ platform (Supabase backend and the site at https://maghlifiissam-art.github.io/spider-network/reels/) existed before this entry.
Challenges
The live demo seller has no sign-in account, so it supports public reads rather than authenticated writes. We designed the demonstration around real catalogue reads and reviewable drafts instead of claiming an untested publish path works. Another issue was stale cached products when switching stores; the simulator now resets products and draft before using the new handle.
Accomplishments
The offline suite has 18 passing tests, including product selection, store switching, publishing hard-disabled, origin validation, and Worker asset routing. A hosted browser run used the live DEMO catalogue and produced the selected product's template draft through three MCP tool calls. Desktop and mobile screenshots were inspected. The hosted app was verified with public read/stateless tool calls and actual desktop/mobile screenshots. Live model output and speech-recognition quality remain unverified. Stats count only up to 1000 returned public post rows, not all-time totals.
What's next
Keep the tested hosted demo available, then separately evaluate model output only with verified entitlement and an enforced remaining-credit budget, and test authenticated publishing only in an explicitly approved environment. None of these future steps is represented as completed.
Primary track: Alexa+. Built on the existing RIMAZ platform; the MCP server, simulator and tests are new work from October 6 to 7, 2026.
Testing instructions for judges (no login, no keys, free)
- Open the live demo: https://rimaz-alexa-mcp.magpro369.workers.dev/ (works on desktop and mobile; nothing to install).
- Click "List demo products". Three DEMO products from the store @rimazdemo are listed. The right panel shows the real MCP call list_store_items and its JSON result.
- Type "write an ad in English @rimazdemo" and Send. The assistant asks which product to use instead of picking one.
- Click "Draft product 2" (or type "write an ad in English for product 2 @rimazdemo"). The log shows draft_ad_script and create_reel_draft. The Draft preview shows NOT PUBLISHED, the title, script, language, and source: template (no LLM key configured).
- Type "publish it". The simulator refuses and says no post was sent. The server side publish_reel tool is a hard-disabled placeholder.
- Click "Demo stats". It returns zero rows and zero views for this DEMO store (limited to 1000 public rows).
- Check the MCP endpoint directly (protocol 2025-11-25, Streamable HTTP): curl -s -X POST https://rimaz-alexa-mcp.magpro369.workers.dev/mcp -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"judge","version":"1"}}}' The reply names the server rimaz-alexa-mcp, version 0.3.3.
- Run the offline tests from the private repo (judges are invited as collaborators): git clone https://github.com/maghlifiissam-art/rimaz-alexa-mcp, then npm install and npm test. Expected: 18 passing tests, no network or keys needed. Limits: this is a simulated Alexa+ experience (not tested on a real Alexa+ device), the ad copy is a fixed template with no live model, the mic input is optional and unverified, and nothing is saved or published.
Built With
- cloudflare-workers
- javascript
- model-context-protocol
- node.js
- supabase
- zod
Log in or sign up for Devpost to join the conversation.