eTROC Global AI Agent Marketplace Launch by Imad DhineTROC Global AI Agent Marketplace Launch by Imad Dhin

eTROC Global AI Agent Marketplace Launch

Imad Dhin

Imad Dhin

eTROC — full concept and technical summary

What eTROC is

eTROC is a worldwide AI agent marketplace. The product promise is simple: your AI agent to buy and sell anything near you. It is not framed as swap, barter, or clearance commerce.
The idea is one agent that finds listings, ranks them for you, helps you negotiate or track a deal, and works across web, iOS, Android, browser extension, Telegram, email, and messaging channels. The product is global, but rollout is country by country, starting with Morocco, then filling local leaders and automating discovery of Shopify, WooCommerce, and custom storefronts.
eTROC is operated by ImadDhin as a Moroccan auto-entrepreneur until incorporation. It is bootstrapped and founder-funded. Accounts are Buyer (free), Seller (one person), and Business (team up to 25 seats).
The core loop is: ask the agent → get live nearby and catalog results → open a member deal chat or an external-source tracker → optionally use Live Troc or audio/video calls → upgrade when selling or when you need Pro calling.

Concept layers

For members, eTROC is both a marketplace and an agent. Discover and Search show live nearby listings. The agent can search nearby sources, member listings, and worldwide catalogs. Sourced ads keep their original marketplace link and cannot be messaged inside eTROC; instead they get an on-device external deal tracker. Member listings get a structured deal chat with stages from inquiry through sold or closed.
Preferences shape almost everything: feed ranking, notifications, match emails, budget, focus and hidden categories, member versus marketplace focus, radius, and intent.

Hosting and environments

Production web deploys to Vercel project etroc-web on etroc.app. Sandbox web is sandbox.etroc.app via deploy:sandbox, pointed at the sandbox Neon branch and sandbox agent. Local web runs next dev on port 3001 against .env.development.local and sandbox data only.
The agent, partner agent, realtime, R2 uploads, Hyperdrive, email, queues, and many edge features run on Cloudflare. The domain etroc.app is on Cloudflare, proxying to Vercel. Blog and Labs are Cloudflare-hosted. The native crawler runs on Fly.io and can suspend when idle.
The database is Neon Postgres with PostGIS and pgvector. Workers reach it through Hyperdrive. Object media goes to Cloudflare R2 via signed uploads.
Error monitoring is Sentry across web, iOS, Android, and the agent Worker. Analytics combine Vercel Analytics, GA4 through Firebase project e-troc-project, GTM, and Consent Mode v2.
Rule of work: sandbox first, verify a tick or run, ask before production database writes.

Auth and identity

On web, Auth.js v5 sits on Drizzle. Google and Facebook sign-in use a Firebase Auth popup on e-troc-project, then the server verifies the ID token into an Auth.js session. Cloudflare Turnstile gates web sign-in and sign-up when configured. Settings also cover passkeys and email magic link plus six-digit code. Sign in with Apple is shown as coming soon on web methods.
Native apps use email and password only, exchanging for Bearer tokens from /api/mobile/session. There is no Facebook SDK on native. Admin and roles are data-driven from the user record, not hardcoded email allow-lists.

Listings, moderation, and discovery UX

Members can post and edit listings fully in the apps and on web, with up to eight photos and category-specific advanced details. Currency follows the market country. There is no trade/swap toggle as a core listing feature.
New and updated member listings pass automatic AI moderation on the worker: rules prefilter, Llama Guard for text, Llama 4 Scout for vision. Status is pending, approved, or rejected. Only approved listings are public in feeds, detail, search, and sitemaps.
Discover supports feed, drop, map, swipe, and on native also Spatial. Search lives at /browse and follows the live device area until the user picks a place. Maps use MapLibre GL with OpenFreeMap tiles and listing-photo markers. Listing cards show source logos on images for imported ads, green live prices, and match “why” lines computed against the current page set.
Cross-posted duplicates collapse into one card with alsoOn. Item pages include a full-screen gallery, a live price tracker and market tape, and for sellers an anonymised Interest tab from the agent engine.

Ingest and market coverage

A Cloudflare Workflow tick starts on a schedule, not from chat. Each tick ingests sources, syncs search, sends alerts, and sends emails. Match mail follows recent asks, agent searches, and memory, and respects Preferences. Quiet members get the closest listing in each category.
Morocco live crawl sources include Avito.ma, Mubawab, Moteur.ma, and Jumia, with robots.txt respected under user agent eTROCBot. Some sites are shared-link import only, such as Facebook Marketplace, Yakeey, Sarouty, and Marocannonces, unless a compliant fetch path is approved. Beyond the main leaders, Morocco coverage is meant to grow through automated discovery of local leaders and Shopify, WooCommerce, and custom storefronts.
Other countries use the Rust crawler through the Worker native transport. Native sources stay off by default and are enabled per environment only after terms review, sandbox first, production only after proof and an explicit ask for production writes.
Spam such as IPTV and resold streaming accounts is dropped. Source owner users come from migrations; missing owners break inserts.

The agent

The agent Worker uses the Cloudflare Agents SDK, AI Search, and Hyperdrive. It works for guests without sign-in and understands Darija in Arabic script or Arabizi, plus Tamazight, Arabic, and French, and replies in the user’s language.
The web composer is one field: Enter sends, no separate Send button. Typing slash opens extra commands. The home prompt opens the full agent page; a floating sheet is the quick call on Discover and other pages. Sheet collapse opens the full page; minimize shrinks the sheet. Deep Agent is a toggle. Sources and Agentic Shopping sit in the composer. Attach covers file, camera, and gallery. Long-press a sent prompt to edit, resend, or save.
Voice uses Cartesia: mic record, Whisper-style transcription, Sonic replies, and live speech-to-speech. Voice AI settings live under account Settings.
Catalog Sources include Amazon, AliExpress, eBay, and Shopify Catalog via UCP MCP. A selected catalog source is searched alone; local marketplace can be an optional follow-up. Confirm and Buy are meant to continue into agent commerce, not dead-end reshuffles. Shop Pay and full Shop MCP checkout are still gated behind config and stubs where needed.
Agent surfaces also include MCP at /mcp, in-page WebMCP tools, llms.txt, content negotiation for markdown, well-known API catalog and agent card, UCP profile, and agentic commerce protocols such as ACP, AP2, UCP checkout, and x402/MPP.
Chrome Built-in AI is used where the browser supports it: semantic embeddings, summarizer with speed preference, proofreader, experimental tools, and offline vector storage with a local-hash fallback, blended into on-device ranking.
Telegram bot @etroc_bot exposes a localized command menu and guest mode. After live sync it can send plain listing cards until Listing automation is enabled in Preferences.

Deals, inbox, Live Troc, and calls

Sourced listings show marketplace plus original ad link. Messaging stays off-platform; the app offers a draft/copy message flow and stages Contacted, Seller replied, Price agreed, Bought.
Member listings use structured deal chat with offer, accept, decline, withdraw, reserve, release, and sold actions. Web shows a dismissable Facebook-style chat dock. iOS and Android use deal chat sheets over the listing.
Inbox sits beside the profile avatar and is open to registered users without waiting for a deal: search members, chat, voice or video, and share a listing.
Live Troc sessions run on Durable Objects. Inbox and Live Troc rows support swipe pin, archive, and delete. Owners can Close; members can Leave.
Audio and video use Cloudflare RealtimeKit with human and agent presets. Calls hard-stop at five minutes if either side lacks Pro; the next call can start immediately. Countdown links to pricing. Text stays on the Durable Object bus. Agent call mode defaults to companion; full mode needs Realtime Pro.

Plans and payments

Buyer stays free. Seller and Business start with a fifteen-day free trial, then renew monthly. Teammates inherit the business owner’s plan. List prices are roughly Seller five dollars or about twenty MAD in Morocco, Business ten dollars or about fifty MAD. Pro is about five dollars or twenty MAD for unlimited audio and video and the full call agent. Listing boost is fifty MAD or ten dollars for credits plus the listing_boost entitlement.
Live entitlements include etroc_pro, seller_pro, and business_pro. Seller and Business grant realtime Pro through those entitlements.
User-facing card checkout is labeled Pay by card, coming soon, without a payment-provider brand name while legal setup finishes. Manual cash and bank explain claim-by-reference then admin confirm, and the corridor is forced from live billing place using device area, home address, and edge IP, with IP winning on conflict. Morocco uses MAD Attijariwafa or cash to ImadDhin. Europe uses SEPA EUR. Mexico uses SPEI MXN. US and rest of world use Citibank ACH or wire in USD. Legal copy ties payment safety to terms and notes the founder is raising on a limited budget to incorporate.
Native paid plans are meant to match web through RevenueCat IAP and the same entitlement ids. Pricing UI must follow the member’s live location currency, not a MAD default.
Partner acquisition is a separate Worker that discovers dealers and retailers and can outreach for Business Pro plus listing boost. Outbound stays behind a kill switch and campaign running state until the sending domain is ready.

SEO, growth, and affiliates

Public SEO positions eTROC as an AI agent to buy and sell near you, including French Moroccan petites-annonces language where relevant, without competitor brand names in core copy. Sitemaps are indexed into pages, browse hubs with live listings, and member listing chunks. IndexNow pings member listing create, edit, delete, and status changes in production only. There are scripts for GSC sync, IndexNow, disavow building, and GA4 provisioning.
Affiliate partner deals such as Temu and AliExpress, and Amazon only where Amazon actually serves, appear as listing-sized aside cards, never full-width hero banners. At most two feed cards in allowed categories, one relevant card after agent results and on item pages when appropriate, hideable for seven days, market-scoped to the viewer’s country.
Sellers can upload CSV or a Shopify store link; those rows become that member’s listings with a Verified Store badge pending moderation.

Native apps in brief

Both iOS and Android are free to download with no geo-blocking. Buyer stays free. They mirror web Settings tabs: Account, Plan and payments, Team, Agent connections and memory, Preferences, Notifications, Appearance, Data and privacy. They post and edit listings in-app with photo upload via signed URLs, request GPS on publish, and can connect Gmail through a system-browser OAuth return to etroc://connections.
Icons are official Tabler only. Android release uses an upload keystore kept out of git. Play data-deletion URL is https://etroc.app/delete-account. Debug builds currently target production https://etroc.app.

Web UI system

Landing and product chrome use GSAP motion where designed, Tabler-only icons, HeroUI for switches, sliders, tabs, toasts, tooltips, accordions, and payment tables, Fraunces for display headings and Inter for body, with Arabic glyphs falling through. UI language auto-detects across fourteen locales including RTL Arabic. Theme defaults to System. Auth on web is Facebook.com-style split form plus showcase using the home agent illustration. Pricing is linked from header, phone menu, and footer. Footer covers copyright, Pricing, Privacy, Terms, Help, Contact, Partners, Blog, Labs, and language switcher.

Tools and technologies in use

On the web product: Next.js 16 App Router, React, TypeScript, Tailwind CSS 4, Drizzle ORM, Auth.js v5, Jest, HeroUI, GSAP, MapLibre, Coil-equivalent image patterns on native, and Zod-style validation patterns in the stack.
On Cloudflare: Workers, Durable Objects, Workflows, Queues, Hyperdrive, R2, KV, Email Sending and Routing, Turnstile, RealtimeKit, Agents SDK, AI Search, and edge analytics.
On data and AI: Neon Postgres, PostGIS, pgvector, Workers AI and OpenAI-compatible internal endpoints for crawler fallbacks, Llama Guard and Llama 4 Scout for moderation, Cartesia for voice, Chrome Built-in AI APIs for on-device embeddings and summarization where available.
On catalogs and commerce connectors: Shopify Catalog UCP MCP, AliExpress publisher APIs, eBay APIs, Admitad and related affiliate goto links, Amazon where marketplaces exist, CSV and Shopify verified store feeds.
On identity and messaging: Firebase Auth and FCM on e-troc-project, Telegram Bot API, Gmail OAuth connections, WhatsApp, iMessage, and RCS webhook paths on the agent.
On shipping and ops: Vercel for production web, Wrangler and cf CLI for Workers, Fly for the Rust crawler, Sentry for crashes, GA4, GTM, Search Console and IndexNow scripts, GitHub for the monorepo, and Cursor with project skills such as etroc-cloudflare, etroc-landing-motion, and swiftui-pro, plus MCPs for Neon, Cloudflare, Vercel, Sentry, and related ops.
On native toolchains: Xcode and xcodegen for iOS, Android Gradle Plugin 9 with JDK 17 for Android, OkHttp, Kotlin Serialization, DataStore, Play Services Location, and R8 for release shrinking.

Architecture in one breath

A Next.js and Neon marketplace UI sits in front of Cloudflare agent Workers that crawl, sync, rank, notify, and converse. Native apps and Telegram share the same session and API surface. Durable Objects carry Live Troc and realtime text. RealtimeKit carries calls. Plans and entitlements gate selling, boosts, and Pro calling. Morocco is the first live crawl market; the rest of the world expands source by source behind robots-compliant adapters, sandbox proof, and careful production writes.
Like this project

Posted Nov 9, 2026

eTROC is a worldwide AI agent marketplace. The product promise is simple: your AI agent to buy and sell anything near you.