Management · votre voix, maintenue vivante
La portée, menée pour vous — dans votre voix.
Campagnes, contenus et diffusion, maintenus en marche dans votre propre voix — mais rien ne sort en votre nom avant qu'un humain ne l'ait signé. De la portée, sans perdre votre voix ni votre contrôle.
Toute la voix, sous forme de quatre tâches qui ne s'arrêtent jamais — pas un outil que vous devez piloter vous-même.
Planifiées, menées et surveillées — le calendrier ne reste jamais silencieux. Chacune suivie de la première publication à la dernière.
Écrits dans votre voix, proposés pour votre oui. Rien n'est tourné par un gabarit qui ne sonne pas comme vous.
Les bonnes personnes atteintes et relancées, non spammées. Listes tenues propres, réponses tenues chaleureuses.
Ce qui a marché, lu clairement — pas un graphique de vanité. Des chiffres qui vous disent quoi faire ensuite, non des chiffres à admirer.
La différence n'est pas un tableau de bord clinquant. C'est la surveillance — et rien ne parle en votre nom de lui-même.
Comment la voix est tenue — pas des chiffres de croissance inventés.
Les agents ne sont pas le spectacle ; ils sont une couche gérée de plus sous la même
surveillance. En voici la forme réelle.
Le code reste en anglais — la langue universelle de l'ingénierie.
"""MatchTop · a content agent — it drafts in your voice, it never publishes on its own. Standard library only. The agent proposes; a person signs.""" import json from dataclasses import dataclass, field @dataclass class Draft: channel: str # "post" | "campaign" | "reply" text: str voice: str # which stored voice profile produced it signed: bool = False # stays False until a human says yes def load_voice(company: str) -> dict: """The voice profile is stored once and reused — not re-guessed per post.""" with open(f"voices/{company}.json") as f: return json.load(f) def draft_post(brief: str, company: str) -> Draft: voice = load_voice(company) text = compose(brief, tone=voice["tone"], rules=voice["must_avoid"]) return Draft(channel="post", text=text, voice=voice["name"]) # signed=False
"""MatchTop · the publish gate — the one door every draft must pass through. Nothing reaches a public channel without a human signature attached.""" class Unsigned(PermissionError): pass def publish(draft, channel_api): """Refuses outright if the draft has not been signed off by a human.""" if not draft.signed: raise Unsigned("nothing is published in your name on its own") return channel_api.send(draft.channel, draft.text) # only reachable after sign-off def sign(draft, signer: str): """The one action that turns a draft into something that may go out.""" draft.signed = True draft.signer = signer # logged — who signed, not just that someone did return draft
"""MatchTop · the scheduler — queues only what a human already signed, and releases it at the right local hour. No silent auto-posting.""" from datetime import datetime from zoneinfo import ZoneInfo def queue(draft, run_at: datetime, tz: str = "Europe/Zurich"): if not draft.signed: raise PermissionError("only signed drafts may be queued") return {"draft": draft, "run_at": run_at.astimezone(ZoneInfo(tz))} def release_due(queued, now: datetime): """Only fires the ones whose signed, scheduled hour has arrived.""" return [q for q in queued if q["run_at"] <= now] # still signed drafts only
Pourquoi une voix menée l'emporte sur un fil que vous devez remplir vous-même.
Le spam d'IA générique ne peut pas sonner comme vous — il confie votre nom à un gabarit. La publication automatique ne peut pas se voir confier votre réputation. Et un plateau d'agence ne peut pas vous donner l'unique main qui en répond. C'est pourquoi il n'y a pas de grille tarifaire ici : nous regardons ce que la voix doit dire, nous le mesurons, et nous chiffrons ce que nous avons mesuré.
Avant qu'une ligne ne soit écrite, comment votre voix et ses données sont gardées. Ce point n'est pas négociable.
Un accord de confidentialité est ici la règle par défaut, pas une option payante. Ce que vous partagez est lu par un seul ingénieur et personne d'autre — rien n'est vendu, partagé ni transmis.
Vos comptes, vos listes et votre voix restent à vous ; rien n'est publié ou envoyé sans votre signature. Nous ne gardons aucune copie dont nous n'avons pas besoin.
Chaque brouillon d'agent est consigné et signé — vous pouvez lire qui a écrit quoi, et qui l'a approuvé. Aucune boîte noire ne parle en votre nom pendant que vous regardez ailleurs.
Deux lignes — ce que la voix vend, et ce que vous voulez vous ôter des mains. Nous les lisons nous-mêmes et nous y répondons nous-mêmes.
C'est déjà sur un écran à Zürich — pas dans une file d'attente, pas dans un ticket. L'ingénieur qui mènerait cela le lit, et vous répond lui-même.
·