Diamond StoneDiamond StoneAll plans

Diamond Stone Platform: Social Channels and Publishing

Date: 2026-11-11. Revision 1. Status: draft for owner review. Builds on docs/MODULES.md section 4 ("Channels: change it once, publish everywhere"), which lists what each platform officially allows. Screens: the "Social channels" section of docs/ui-shell-mockup.html. Diagrams: docs/system-flows.html and docs/user-flows.html.

1. The answer in one paragraph

Both. Posting is automated, and it is done by a separate service. This app is the one place where people write, approve, schedule and see results. A separate channel service (the connector being built with Antigravity) is the part that actually talks to Instagram, Facebook, LinkedIn, Google and the rest. The two are joined through our own server. Staff never open the channel service and never log in to each platform to post; they also never need a third-party scheduling tool.

This platform The channel service
What it is The staff app and its server A separate service with one connector per platform
Who uses it Marketing, sales, the owner Nobody directly. Only our server calls it
Holds The content, the approval, the schedule, the results, the conversations The platform sign-ins and each platform's rules for sending
Decides What is said, where, when, and who approved it Nothing. It sends exactly what it was given, or reports why it could not
If it is down Posts wait in the queue and show "waiting"; by-hand tasks are offered —

Why separate: each platform changes its rules, sizes and sign-in often. Keeping that in one replaceable service means the app does not change when Instagram does. Why not an outside scheduling product: the posts are made from the catalogue, the projects and the answers that already live here, and the enquiries they bring must land in the same inbox with the same customer record.

2. What is automatic and what is not

Step Automatic A person
Noticing there is something worth posting (a stone published, a project approved, a new answer, a delivery with consent to show) Yes: a draft is created
Writing the caption A draft from a language model, checked against the brand's voice rules (Jev does not write; see docs/AI.md) Edits and owns the words
Making a version for each channel: length, picture shape, link, tags Yes Can adjust one channel's version
Checking: picture rights and consent in date, no forbidden words, no price, no supplier or quarry name, Arabic reviewed, right picture shape Yes; a failed check blocks the post Fixes what failed
Approving Yes, always by default (a setting can allow named templates through without it; see section 8)
Choosing the time Suggested from past results Can change it
Publishing at that time, on each channel Yes
Retrying a failure on one channel Yes Reconnects a channel when asked
Channels with no official way to post A task with the text and picture ready Posts by hand and ticks it done
Collecting results Yes, daily
Comments, direct messages and reviews Arrive in the Inbox Replies; nothing is auto-replied in public
Linking a post to the enquiries and orders it brought Yes, through a tracked link

Never automatic: replying to a comment or review; posting anything a person has not approved (unless the owner switched that on for a template); following, liking, or messaging people who did not contact us first.

3. What gets posted

Each kind starts from a record that already exists, so nothing is written twice.

Kind Starts from What it shows
A stone The stone record Slab photographs, name, origin, finishes; a link to its page
New slabs in An inspection or receipt, with photos marked "may be shown" The actual slabs, dated
A project A project with the client's consent The finished space, the stones used, a line from the client
An answer An answer page The question and the two-line answer; a link
How we match Photographs from inspection, layout or loading, marked "may be shown" Selecting, matching, laying out, loading. Never rejects or refused counts
Company news Written directly A fair, a new market, a holiday closing
Reviews A customer's rating with permission Their words

Rules from the brand (docs/BRAND.md): never lead with price; no hollow luxury words; no emoji or exclamation marks; origin shown as "Oman", never a quarry or supplier; no project photograph the company cannot claim; people in photographs only with consent.

How much. One marketing person can sustain about ten posts a month alongside the website. The calendar is sized to that; it warns when a week is empty and when a channel has had nothing for a month.

4. Channels

From docs/MODULES.md section 4, by how they are reached.

Group Channels How
Automatic, first Website; Google Business Profile posts; Instagram; Facebook Page; WhatsApp Business catalogue Official interfaces. Meta (Instagram, Facebook, WhatsApp) is one application and one review
Automatic, when approved LinkedIn company page; YouTube; Pinterest Each needs the platform's approval, which can be refused or slow. Applied for early; posted by hand until granted
By hand, with the task prepared WhatsApp Status and Channels; TikTok if used; marketplace listings; map listings No official way to post for a business of this kind, or not worth the cost
Not used X Paid per post; low value for this trade

Nothing is ever posted through an automated browser or an unofficial gateway. Those break the platforms' terms and put the accounts, and the company's WhatsApp number, at risk.

Each channel has a card in the app with a light: connected, needs reconnecting, waiting for the platform's approval, by hand. Platform sign-ins expire (Meta's about every 60 days unless refreshed); the app warns a week before and the administrator reconnects with two taps.

5. The screens

All drawn in the sketch under "Social channels".

Screen Question Shows first Action
Post What are we saying? The picture; the caption; the record it came from; language Where this goes
Where this goes How will it look on each? A preview card per channel in that channel's shape, each with a tick or what is wrong Send to approve
Calendar What is going out, and when? A month with picture thumbnails on their days; gaps marked Open a day
Channels Is everything connected? A card per channel with its light and last post Reconnect
Results Is it working? Reach, clicks and enquiries per post as bars; the post that brought the most enquiries first Open the enquiries
Approval (in the owner's Approvals list) Should this go out? The post as it will appear, and the checks passed Approve
By-hand task What do I do? The text to copy, the picture to save, the link to the right place Done

Comments, messages and reviews are not a separate screen: they are conversations in the Inbox, marked with the channel's icon, against the customer when the person is known.

6. How the two systems talk

Drawn as "Posting to social channels" and "A comment or review comes back" in docs/system-flows.html.

Our server asks the channel service to publish by sending one job per channel: the channel; the text and pictures exactly as approved; a fingerprint of that content; who approved it and when; the time to publish; and a one-time key so the same job can never be sent twice.

The channel service answers with a status for each job: accepted; live, with the link to the post; failed, with a plain reason; needs reconnecting.

The channel service tells our server when something comes in: a comment, a direct message, a review, a change in a job's status, daily figures for each post.

Our server can ask it what each channel currently allows (lengths, picture shapes, whether it is connected), so the checks in the app always match the platform.

Rules of the join

7. Measuring

Measure From
Reach, views, clicks, saves per post and per channel The platforms, through the channel service, daily
Enquiries and sample orders that came from each post The tracked link on the post; kept on the enquiry as its first source
Orders that followed The app
Followers by channel over time The platforms
Reply time to comments and messages The Inbox timers
Posts per month against the plan; channels gone quiet The calendar

The figure that matters is enquiries and orders by post, not likes. The Results screen leads with it.

8. Settings

Under Settings → Messages and channels. Each has a default.

Setting Default Choices
Posts need approval Always Always; not for named templates (for example "new slabs in"); never
Who approves The owner The owner; a named person. Never the author
A draft is created when A stone, project or answer is published Each kind on or off; also for new slabs, deliveries with consent
Languages English and Arabic as separate posts English only; both in one post; separate
Quiet days Fridays; public holidays Chosen days
Suggested time From past results Fixed times; from results
Tracked links On On; off
Stop all publishing Off On; off, per channel too
By-hand tasks go to Marketing A named person
Ask for a public review after a delivery Off On; off. When on, every customer is asked whatever they rated. Asking only happy customers, or rewarding a review, breaks Google's rules

9. Risks

Risk Guard
A platform refuses or delays access (LinkedIn, Meta review, Google Business Profile) Apply at the start; post by hand meanwhile; never depend on one channel
An account restricted for breaking terms Official interfaces only; no automated browser; no bought followers; no mass messaging
A sign-in expires and posts silently fail A light per channel; a warning a week before; failures shown on the post and in the Halo
A post goes out with a mistake Approval; checks; a "take down" action that removes it on every channel that allows it
A photograph used without the right or consent The picture carries its rights and consent with an end date; the check blocks it
The same content looks pasted across channels A version per channel in that channel's shape and length
AI-written captions sound generic A suggestion only; the brand's forbidden words are checked; a person edits
The channel service is the weak point Not public; no default keys; only our server calls it; a stop switch
WhatsApp number put at risk by broadcasts Messages only to people who opted in, through approved templates; Status and Channels by hand

10. Build stages

Stage Content
With the website (stage 2) Post, Where this goes, Calendar, Channels, approval, by-hand tasks; website and Google Business Profile automatic; applications sent to Meta and LinkedIn
Next Instagram and Facebook automatic once Meta approves; comments and messages into the Inbox; Results
Later LinkedIn, YouTube, Pinterest as each is approved; drafts from deliveries and new slabs; suggested times

11. Decisions

  1. ~~Confirm the split.~~ Confirmed by the owner on 11 November 2026: the channel service stays a separate build (Antigravity), and this app is the only place staff work.
  2. Whether any kind of post may go out without approval.
  3. Arabic and English as separate posts, or together.
  4. Which channels matter most. The plan assumes Instagram, LinkedIn and Google Business Profile for specifiers, with Facebook because it comes with Instagram.
  5. Whether to ask customers for public reviews after delivery.

Marketing plan (added 11 November 2026)

Which channels come first, how often, and what each post is for are set in docs/MARKETING.md section 7. LinkedIn and Instagram come after WhatsApp, the website and visits. Each post leads to a stone or a project page, never to Home.