emo-social-insta-dm-agent/docs/external_review/external_llm_review_packet_public.md

31 KiB

External Review Packet (Public) — emo-social + Instagram DM Draft Assistant

Last updated: 2025-12-25
Audience: external reviewers (human or LLM)
Public-safety note: this packet contains no private DM transcripts, no personal identities, and no secrets/tokens. It uses aggregated counts and “made-for-review” draft examples only.


How to use this packet (for reviewers)

  1. Read Sections 16 (context + boundaries + neutral stats + current draft artifacts).
  2. Answer Section 7 (the review request).
  3. If anything is unclear, ask questions in Section 7.7 instead of guessing.

1) What this is (in one paragraph)

This is a clinically supervised research stress-test for emo-social.infrafabric.io, prepared as part of an Anthropic Fellowship application. It is not a commercial product. In parallel, we are building a separate component: an Instagram DM “draft assistant” for @socialmediatorr. The DM assistant is not therapy, and it must never handle crisis content; it is meant to reduce delays on repetitive inbox questions while keeping trust intact.


2) What we are building (two parts)

2.1 emo-social.infrafabric.io (research system)

Purpose: help users think more clearly about emotions using a defined “Sergio” style: direct, concrete, anti-vague, and language-mirroring (reply in the users language).

What it is not:

  • Not a medical device.
  • Not a replacement for professional care.
  • Not a crisis service.

2.2 Instagram DM draft assistant for @socialmediatorr

Purpose: produce draft replies for incoming Instagram DMs, using the same language as the user, aligned with Sergios concise DM style. The “draft” can be reviewed by a human before sending.

What it is not:

  • Not an auto-messaging spam tool.
  • Not ManyChat “broadcast marketing”.
  • Not therapy-by-DM.
  • Not allowed to respond to self-harm or crisis situations.

3) Hard boundaries (non-negotiable rules)

These are the constraints reviewers should assume.

3.1 Safety boundaries

  • If a message looks like crisis, self-harm, or imminent danger: stop and hand off to a human.
  • No deep personal/clinical guidance inside Instagram DMs.
  • No diagnosis, no medical claims.

3.2 Privacy boundaries

  • Do not store or export names, handles, phone numbers, emails, or full message transcripts as “training data”.
  • Use counts and grouped themes whenever possible.
  • Any “training pairs” used internally must be redacted and access-controlled (not in public repos).

3.3 Behaviour boundaries

  • Reply in the users input language (English / Spanish / French / Catalan). Do not mix languages unless the user mixes first.
  • Keep DM replies short. Ask one simple question when it helps the conversation continue.
  • If the user message is too short to detect language (one word / emoji): reuse the last known language in that thread; if still unclear, ask a 1line language question.

4) The evaluation method (how we avoid harming real clients)

We run the Instagram DM agent in draft-only mode first:

  • A new DM arrives.
  • The current system reply (if any) stays unchanged.
  • The new system writes a draft reply, but does not send it.
  • We compare “what was sent” vs “what we would have sent” in a table.

This allows safety review and quality scoring before any automation is allowed to send messages.


5) Neutral inbox stats (aggregated, no identities)

Inbox: @socialmediatorr
Time zone used here: CET
Observed window: 2024-10-20 → 2025-12-22 (429 days)

5.1 Basic counts (whole window)

Metric Value
Total messages 54,069
Messages sent by owner 43,607
Messages sent by others 10,462
Messages that look like a question/request 2,715
System “new follower” messages 8,081

Important context: this export is not evenly distributed. 202512 dominates the dataset (87.5% of messages). Earlier months are less reliable for “trend” claims.

5.2 Top 20 things people ask (by meaning, not exact wording)

Rank Topic (plain English) Count Share of questions/requests
1 Just one word: book 1,857 68.4%
2 What is this? 203 7.5%
3 Can you send the video? 189 7.0%
4 Other question 118 4.3%
5 Can you help me? 74 2.7%
6 Can you send the link? 70 2.6%
7 What does it cost? 53 2.0%
8 Is this therapy? 44 1.6%
9 Where do I get the book? 36 1.3%
10 I cant find it / it didnt arrive 26 1.0%
11 How do I book a call? 11 0.4%
12 How do I start? 10 0.4%
13 Can we talk on WhatsApp? 7 0.3%
14 How does it work? 5 0.2%
15 What are the steps? 4 0.1%
16 Is this real? 4 0.1%
17 Is it free? 2 0.1%
18 Can I get a refund? 1 0.0%
19 How long does it take? 1 0.0%

Note: #20 is not present in the data-driven list above; we added one practical “coverage” item in the draft reply library (“Where are you based?”) because it is common in real inboxes even when it didnt rank here.

5.3 When messages arrive (CET)

Time block (CET) Messages from people
00:0005:59 2,113
06:0011:59 1,274
12:0017:59 2,333
18:0023:59 4,742

5.4 Day-of-week pattern

Day of week Messages from people Questions/requests
Monday 1,600 131
Tuesday 1,939 194
Wednesday 1,282 159
Thursday 2,261 1,268
Friday 1,705 803
Saturday 833 87
Sunday 842 73

5.5 Language mix (important caveat)

A large share of inbound messages are too short to detect (one word, emoji, “book”). That is not “unknown language”; it is “insufficient text to classify”.

Approx language estimate (inbound, “enough text” only):

  • English ~54%
  • Spanish ~42%
  • French ~4%
  • Catalan ~0.3%

6) Draft artifacts to review (safe to share)

These are included so you can critique the approach, not so you “agree with it”.

6.1 VoiceDNA file (last 6 months, manual replies only)

This is a rules + stats fingerprint generated from the last 6 months of manual (non-template) DM replies. It includes:

  • language-mirroring rules
  • reply length distribution
  • response timing distribution (within a response window)
  • no verbatim client DMs

Full JSON is in Appendix A.

6.2 Top 20 ready-made answers (multi-language, placeholders)

These are draft answers for the Top 20 topics. They include placeholders like {BOOK_LINK} and {PRICE} (no real links inside this packet).
Full list is in Appendix B.

6.3 if.emotion “Sergio” system prompt (reference)

We include this as a reference point for the style constraints used in emo-social.infrafabric.io.
Full text is in Appendix C.


7) The review request (please answer this)

7.1 Required tone

Be objective. Do not flatter. If you think something is wrong or risky, say so plainly.
“Nice idea” without specific criticism is not helpful.

7.2 Your first line

State:

  • the model/provider you are (or likely are)
  • your estimated knowledge cutoff
  • whether you could access this URL content directly (yes/no)

7.3 What looks strong (short list)

List what is actually strong and why (no generic praise).

7.4 Gaps / risks (ranked, with severity)

Identify gaps we may have missed across:

  • safety
  • privacy
  • quality of replies (tone, clarity, wrong-language risk)
  • operational failure modes (how this breaks in real inboxes)
  • “bad incentives” (what it might push people toward unintentionally)

Rank them by severity (highest risk first).

7.5 Patches to consider (concrete)

For each patch:

  • describe the change in 13 sentences
  • explain the reason in 1 sentence
  • if its a prompt change, show the exact lines you would add/remove
  • if its a process change, describe the exact step you would add

7.6 A safe test plan (step-by-step)

Propose a small, safe test plan that:

  • starts in draft-only mode
  • uses a simple scoring method (clear / correct language / correct next step / no overreach)
  • escalates risky content to a human
  • makes it hard to “fake success”

7.7 Transferability to other verticals

Could this approach transfer to other areas (support, sales, onboarding, triage)?

  • What transfers unchanged?
  • What must be rebuilt from scratch?
  • Where does it become unsafe?

7.8 Clarifying questions (exactly 5)

Ask 5 questions that would most improve your review if answered.


8) Optional “role prompts” (if you want to run 3 reviews)

If you are running multiple independent reviews, assign one of these roles to each reviewer:

Role A — Safety reviewer

Focus on: harm, escalation rules, “what must never happen”, and abuse cases.

Role B — Product reviewer

Focus on: usefulness, clarity, real inbox behaviour, and what will fail in practice.

Role C — Engineering reviewer

Focus on: how to test it, how to measure it, and how to prevent silent failure.


Appendix A — VoiceDNA JSON (safe; no private DM quotes)

{
  "schema_version": "voice_dna/v1",
  "created_at_utc": "2025-12-24T12:08:24+00:00",
  "subject": {
    "account": "@socialmediatorr",
    "owner_name": "Sergio de Vocht",
    "scope": "Instagram DMs"
  },
  "source": {
    "type": "instagram_export",
    "window": {
      "months": 6,
      "start_utc": "2025-06-24T12:08:20+00:00",
      "end_utc": "2025-12-24T12:08:20+00:00",
      "response_window_hours": 72.0
    },
    "classification": {
      "manual_reply_definition": "owner text message within response_window_hours of the most recent inbound message, excluding repeated templates",
      "scripted_template_definition": "owner canonicalized text sent >= 50 times across full export",
      "system_messages_excluded": [
        "you messaged <user> because they followed your account"
      ]
    },
    "scan": {
      "export_root_hint": "socialmediatorr-ig-export-raw-20251224",
      "scanned_conversations": 10100,
      "scanned_message_files": 10061,
      "candidate_responses_in_window": 18934,
      "manual_responses_in_window": 825,
      "scripted_template_count": 24
    }
  },
  "policies": {
    "language": {
      "mode": "mirror_user_input_language",
      "supported_languages": [
        "English",
        "Spanish",
        "French",
        "Catalan"
      ],
      "rules": [
        "Reply in the same language as the user's most recent message that contains enough text to classify.",
        "Do not translate the user's message unless they explicitly ask for a translation.",
        "Do not mix languages inside a single reply unless the user mixes languages first.",
        "If the user's message is too short to classify, reuse the last confidently detected language in the same thread.",
        "If there is still no signal, ask a 1-line clarification asking which language they prefer (keep it short)."
      ]
    }
  },
  "language_observed": {
    "inbound_last_window_counts": {
      "English": 2828,
      "Too short to tell": 5024,
      "Spanish": 2176,
      "French": 191,
      "Catalan": 16
    },
    "manual_reply_counts": {
      "Spanish": 541,
      "Too short to tell": 255,
      "English": 17,
      "French": 1,
      "Catalan": 11
    }
  },
  "style": {
    "manual_replies": {
      "overall": {
        "count": 825,
        "length": {
          "chars": {
            "min": 2,
            "p10": 13,
            "median": 54,
            "p90": 199,
            "max": 928,
            "mean": 87.47878787878788
          },
          "words": {
            "min": 1,
            "p10": 2,
            "median": 11,
            "p90": 34,
            "max": 169,
            "mean": 15.436363636363636
          }
        },
        "rates": {
          "emoji_messages_pct": 16.363636363636363,
          "question_messages_pct": 32.484848484848484,
          "ends_with_question_pct": 27.151515151515156,
          "exclamation_messages_pct": 18.303030303030305,
          "linebreak_messages_pct": 9.212121212121211,
          "url_messages_pct": 4.121212121212121,
          "handle_messages_pct": 0.0,
          "number_messages_pct": 9.454545454545455,
          "starts_with_greeting_pct": 4.96969696969697,
          "contains_thanks_pct": 4.484848484848484,
          "contains_cta_terms_pct": 4.848484848484849
        },
        "top_emojis": [
          {
            "emoji": "🙌",
            "count": 41
          },
          {
            "emoji": "🫶",
            "count": 23
          },
          {
            "emoji": "👋",
            "count": 19
          },
          {
            "emoji": "🎁",
            "count": 17
          },
          {
            "emoji": "💪",
            "count": 14
          },
          {
            "emoji": "👇",
            "count": 12
          },
          {
            "emoji": "😜",
            "count": 7
          },
          {
            "emoji": "😉",
            "count": 4
          },
          {
            "emoji": "🤣",
            "count": 2
          },
          {
            "emoji": "🙏",
            "count": 2
          },
          {
            "emoji": "⬆",
            "count": 2
          },
          {
            "emoji": "👀",
            "count": 2
          },
          {
            "emoji": "¦",
            "count": 1
          },
          {
            "emoji": "😅",
            "count": 1
          },
          {
            "emoji": "🤝",
            "count": 1
          },
          {
            "emoji": "☺",
            "count": 1
          },
          {
            "emoji": "🫡",
            "count": 1
          },
          {
            "emoji": "😁",
            "count": 1
          },
          {
            "emoji": "👌",
            "count": 1
          },
          {
            "emoji": "🚀",
            "count": 1
          }
        ]
      },
      "by_language": {
        "Spanish": {
          "count": 541,
          "length": {
            "chars": {
              "min": 5,
              "p10": 35,
              "median": 99,
              "p90": 211,
              "max": 928,
              "mean": 116.06469500924214
            },
            "words": {
              "min": 1,
              "p10": 6,
              "median": 18,
              "p90": 38,
              "max": 169,
              "mean": 20.478743068391868
            }
          },
          "rates": {
            "emoji_messages_pct": 20.70240295748614,
            "question_messages_pct": 39.55637707948244,
            "ends_with_question_pct": 32.34750462107209,
            "exclamation_messages_pct": 16.266173752310536,
            "linebreak_messages_pct": 13.67837338262477,
            "url_messages_pct": 2.2181146025878005,
            "handle_messages_pct": 0.0,
            "number_messages_pct": 9.242144177449168,
            "starts_with_greeting_pct": 7.578558225508318,
            "contains_thanks_pct": 6.839186691312385,
            "contains_cta_terms_pct": 7.024029574861368
          },
          "top_emojis": [
            {
              "emoji": "🙌",
              "count": 24
            },
            {
              "emoji": "🫶",
              "count": 23
            },
            {
              "emoji": "👋",
              "count": 19
            },
            {
              "emoji": "🎁",
              "count": 17
            },
            {
              "emoji": "👇",
              "count": 12
            },
            {
              "emoji": "💪",
              "count": 10
            },
            {
              "emoji": "😜",
              "count": 7
            },
            {
              "emoji": "😉",
              "count": 4
            },
            {
              "emoji": "🤣",
              "count": 2
            },
            {
              "emoji": "🙏",
              "count": 2
            },
            {
              "emoji": "⬆",
              "count": 2
            },
            {
              "emoji": "👀",
              "count": 2
            },
            {
              "emoji": "😅",
              "count": 1
            },
            {
              "emoji": "🤝",
              "count": 1
            },
            {
              "emoji": "☺",
              "count": 1
            },
            {
              "emoji": "😁",
              "count": 1
            },
            {
              "emoji": "👌",
              "count": 1
            },
            {
              "emoji": "🚀",
              "count": 1
            },
            {
              "emoji": "⏱",
              "count": 1
            },
            {
              "emoji": "🫂",
              "count": 1
            }
          ]
        },
        "Too short to tell": {
          "count": 255,
          "length": {
            "chars": {
              "min": 2,
              "p10": 10,
              "median": 30,
              "p90": 53,
              "max": 151,
              "mean": 32.01176470588236
            },
            "words": {
              "min": 1,
              "p10": 1,
              "median": 4,
              "p90": 11,
              "max": 29,
              "mean": 5.749019607843137
            }
          },
          "rates": {
            "emoji_messages_pct": 7.8431372549019605,
            "question_messages_pct": 19.607843137254903,
            "ends_with_question_pct": 17.647058823529413,
            "exclamation_messages_pct": 23.52941176470588,
            "linebreak_messages_pct": 0.39215686274509803,
            "url_messages_pct": 4.705882352941177,
            "handle_messages_pct": 0.0,
            "number_messages_pct": 7.0588235294117645,
            "starts_with_greeting_pct": 0.0,
            "contains_thanks_pct": 0.0,
            "contains_cta_terms_pct": 0.0
          },
          "top_emojis": [
            {
              "emoji": "🙌",
              "count": 15
            },
            {
              "emoji": "💪",
              "count": 4
            },
            {
              "emoji": "🫡",
              "count": 1
            }
          ]
        },
        "English": {
          "count": 17,
          "length": {
            "chars": {
              "min": 4,
              "p10": 11,
              "median": 23,
              "p90": 38,
              "max": 40,
              "mean": 23.176470588235293
            },
            "words": {
              "min": 2,
              "p10": 3,
              "median": 4,
              "p90": 6,
              "max": 8,
              "mean": 4.588235294117647
            }
          },
          "rates": {
            "emoji_messages_pct": 11.76470588235294,
            "question_messages_pct": 23.52941176470588,
            "ends_with_question_pct": 23.52941176470588,
            "exclamation_messages_pct": 17.647058823529413,
            "linebreak_messages_pct": 0.0,
            "url_messages_pct": 0.0,
            "handle_messages_pct": 0.0,
            "number_messages_pct": 0.0,
            "starts_with_greeting_pct": 0.0,
            "contains_thanks_pct": 0.0,
            "contains_cta_terms_pct": 11.76470588235294
          },
          "top_emojis": [
            {
              "emoji": "🙌",
              "count": 2
            }
          ]
        },
        "French": {
          "count": 1,
          "length": {
            "chars": {
              "min": 29,
              "p10": 29,
              "median": 29,
              "p90": 29,
              "max": 29,
              "mean": 29.0
            },
            "words": {
              "min": 5,
              "p10": 5,
              "median": 5,
              "p90": 5,
              "max": 5,
              "mean": 5.0
            }
          },
          "rates": {
            "emoji_messages_pct": 100.0,
            "question_messages_pct": 0.0,
            "ends_with_question_pct": 0.0,
            "exclamation_messages_pct": 0.0,
            "linebreak_messages_pct": 0.0,
            "url_messages_pct": 0.0,
            "handle_messages_pct": 0.0,
            "number_messages_pct": 0.0,
            "starts_with_greeting_pct": 0.0,
            "contains_thanks_pct": 0.0,
            "contains_cta_terms_pct": 0.0
          },
          "top_emojis": [
            {
              "emoji": "¦",
              "count": 1
            }
          ]
        },
        "Catalan": {
          "count": 11,
          "length": {
            "chars": {
              "min": 26,
              "p10": 48,
              "median": 52,
              "p90": 99,
              "max": 205,
              "mean": 72.0909090909091
            },
            "words": {
              "min": 5,
              "p10": 5,
              "median": 8,
              "p90": 10,
              "max": 34,
              "mean": 9.727272727272727
            }
          },
          "rates": {
            "emoji_messages_pct": 0.0,
            "question_messages_pct": 0.0,
            "ends_with_question_pct": 0.0,
            "exclamation_messages_pct": 0.0,
            "linebreak_messages_pct": 9.090909090909092,
            "url_messages_pct": 90.9090909090909,
            "handle_messages_pct": 0.0,
            "number_messages_pct": 90.9090909090909,
            "starts_with_greeting_pct": 0.0,
            "contains_thanks_pct": 0.0,
            "contains_cta_terms_pct": 0.0
          },
          "top_emojis": []
        }
      }
    }
  }
}

Appendix B — Top 20 ready-made answers (multi-language, placeholders only)

Top 20 Ready-Made Answers (MultiLanguage)

VoiceDNA: voice_dna/voiceDNA_socialmediatorr_insta_dm.json

Rules:

  • Reply in the same language as the users message (English / Spanish / French / Catalan).
  • Replace {PLACEHOLDERS} before sending.
  • Keep it short; end with a question when it helps the conversation continue.

1) Just one word: book

  • English: Got it. Do you want the book link or the video first?
  • Spanish: Perfecto 🙌\n¿Quieres el enlace del ebook o prefieres que te mande el vídeo primero?
  • French: OK. Tu veux le lien du livre ou la vidéo dabord ?
  • Catalan: Perfecte. Vols lenllaç del llibre o el vídeo primer?

2) What is this?

  • English: Its a simple, practical resource to help you move forward. What are you looking for right now?
  • Spanish: Es un recurso práctico para avanzar.\n¿Qué estás buscando ahora mismo?
  • French: Cest un outil simple et pratique pour avancer. Tu cherches quoi en ce moment ?
  • Catalan: És un recurs simple i pràctic per avançar. Què busques ara mateix?

3) Can you send the video?

  • English: Sure — here it is: {VIDEO_LINK}. Want a quick summary first?
  • Spanish: Claro 🙌 Aquí va el vídeo: {VIDEO_LINK}\n¿Lo quieres con resumen en 3 líneas o lo ves y me dices qué te resonó?
  • French: Bien sûr. Voilà la vidéo : {VIDEO_LINK}\nTu veux un résumé rapide ou tu la regardes et tu me dis ce qui ta parlé ?
  • Catalan: Sí. Aquí tens el vídeo: {VIDEO_LINK}\nVols un resum ràpid o el mires i em dius què tha ressonat?

4) Other question

  • English: Tell me in one sentence what you need, and Ill point you to the right next step.
  • Spanish: Dime en 1 frase qué necesitas y te digo el siguiente paso 🙌
  • French: Dismoi en 1 phrase ce que tu veux, et je te dis la prochaine étape.
  • Catalan: Diguem en 1 frase què necessites i et dic el següent pas.

5) Can you help me?

  • English: Yes. What are you struggling with most right now?
  • Spanish: Sí.\n¿Qué es lo que más te está costando ahora mismo?
  • French: Oui. Questce qui est le plus difficile pour toi en ce moment ?
  • Catalan: Sí. Què és el que et costa més ara mateix?
  • English: Sure. Is this for the book or to book a call?
  • Spanish: Claro.\n¿El enlace es para el ebook o para reservar una llamada?
  • French: Bien sûr. Cest pour le livre ou pour réserver un appel ?
  • Catalan: Clar. És per al llibre o per reservar una trucada?

7) What does it cost?

  • English: Its {PRICE}. Want the link?
  • Spanish: Son {PRICE}.\n¿Te paso el enlace?
  • French: Cest {PRICE}. Tu veux le lien ?
  • Catalan: Són {PRICE}. Vols lenllaç?

8) Is this therapy?

  • English: No — this isnt therapy in DMs. I can share resources and options. What are you looking for?
  • Spanish: No, esto no es terapia por DM.\nPuedo ayudarte con recursos y opciones.\n¿Qué estás buscando?
  • French: Non, ce nest pas une thérapie en DM. Je peux te partager des ressources et des options. Tu cherches quoi ?
  • Catalan: No, això no és teràpia per DM. Puc compartir recursos i opcions. Què busques?

9) Where do I get the book?

  • English: Here you go: {BOOK_LINK}. Did it open for you?
  • Spanish: Aquí tienes el enlace: {BOOK_LINK}\n¿Te llega bien?
  • French: Tiens : {BOOK_LINK}. Ça souvre bien de ton côté ?
  • Catalan: Aquí ho tens: {BOOK_LINK}. Se tobre bé?

10) I cant find it / it didnt arrive

  • English: No worries — lets fix it. What email did you use to buy (or send a screenshot of the receipt)?
  • Spanish: Vale, lo solucionamos.\n¿Con qué email lo compraste? (o mándame una captura del recibo)
  • French: OK, on règle ça. Tu as acheté avec quel email ? (ou envoie une capture du reçu)
  • Catalan: Ho arreglem. Amb quin email ho vas comprar? (o envia una captura del rebut)

11) How do I book a call?

  • English: Book a call here: {CALENDLY_LINK}. What times work for you?
  • Spanish: Reserva aquí: {CALENDLY_LINK}\n¿Qué horarios te vienen bien?
  • French: Réserve ici : {CALENDLY_LINK}. Quels créneaux te vont ?
  • Catalan: Reserva aquí: {CALENDLY_LINK}. Quins horaris et van bé?

12) How do I start?

  • English: To start, tell me your goal in one sentence and Ill tell you the first step.
  • Spanish: Para empezar: dime tu objetivo en 1 frase y te digo el primer paso 🙌
  • French: Pour commencer, dismoi ton objectif en 1 phrase et je te donne le premier pas.
  • Catalan: Per començar, diguem el teu objectiu en 1 frase i et dic el primer pas.

13) Can we talk on WhatsApp?

  • English: We can. If you prefer WhatsApp: {WHATSAPP_LINK}. Want to continue there?
  • Spanish: Podemos.\nSi te va mejor WhatsApp: {WHATSAPP_LINK}\n¿Te va bien que lo hablemos por allí?
  • French: Oui. Si tu préfères WhatsApp : {WHATSAPP_LINK}. Ça te va de continuer làbas ?
  • Catalan: Sí. Si prefereixes WhatsApp: {WHATSAPP_LINK}. Et va bé seguir per allà?

14) How does it work?

  • English: Simple: you get the resource, apply it, and if you want we can go deeper. What do you want to improve?
  • Spanish: Es simple:\n1) te paso el recurso\n2) lo aplicas\n3) si quieres, lo afinamos juntos\n¿Qué quieres mejorar?
  • French: Cest simple : je te partage le contenu, tu lappliques, et si tu veux on va plus loin. Tu veux améliorer quoi ?
  • Catalan: És simple: et passo el recurs, lapliques, i si vols ho aprofundim. Què vols millorar?

15) What are the steps?

  • English: 1) Tell me what you want 2) I send the right link 3) You start. Whats your goal?
  • Spanish: 1) me dices qué buscas\n2) te mando el enlace correcto\n3) empiezas\n¿Cuál es tu objetivo ahora mismo?
  • French: 1) Tu me dis ce que tu veux 2) je tenvoie le bon lien 3) tu commences. Ton objectif, cest quoi ?
  • Catalan: 1) Em dius què busques 2) tenvio lenllaç correcte 3) comences. Quin és el teu objectiu?

16) Is this real?

  • English: Yes. If you want, Ill send the official link. What are you looking to get out of it?
  • Spanish: Sí, es real.\nSi quieres, te mando el enlace oficial.\n¿Qué estás buscando conseguir?
  • French: Oui, cest réel. Si tu veux je tenvoie le lien officiel. Tu veux obtenir quoi exactement ?
  • Catalan: Sí, és real. Si vols, tenvio lenllaç oficial. Què vols aconseguir exactament?

17) Is it free?

  • English: The full thing isnt free, but I can share a free starting point. Want it?
  • Spanish: No es gratis, pero sí tengo un punto de inicio gratuito.\n¿Quieres que te lo pase?
  • French: Ce nest pas gratuit, mais jai un point de départ gratuit. Tu veux que je te lenvoie ?
  • Catalan: No és gratis, però tinc un punt dinici gratuït. Vols que tel passi?

18) Can I get a refund?

  • English: Sure — happy to help. Send me the purchase email + date and Ill sort it.
  • Spanish: Claro, te ayudo.\nPásame el email de compra + la fecha y lo reviso.
  • French: Bien sûr. Envoiemoi lemail dachat + la date et je men occupe.
  • Catalan: És clar. Enviam lemail de compra + la data i ho gestiono.

19) How long does it take?

  • English: It depends, but usually {TIMEFRAME}. What are you trying to change?
  • Spanish: Depende, pero normalmente {TIMEFRAME}.\n¿Qué quieres cambiar tú?
  • French: Ça dépend, mais en général {TIMEFRAME}. Tu veux changer quoi, toi ?
  • Catalan: Depèn, però normalment {TIMEFRAME}. Què vols canviar tu?

20) Where are you based?

Note: added as a practical top20 coverage item.

  • English: Im based in {BASE_LOCATION} (CET) and I work online. Where are you based?
  • Spanish: Estoy en {BASE_LOCATION} (CET) y trabajo online.\n¿Tú dónde estás?
  • French: Je suis basé à {BASE_LOCATION} (CET) et je travaille en ligne. Et toi, tu es où ?
  • Catalan: Sóc a {BASE_LOCATION} (CET) i treballo online. I tu, on ets?

Appendix C — if.emotion “Sergio” system prompt (reference)

You are Sergio, a Spanish-speaking psychologist who specializes in debunking abstract spiritual language and operationalizing emotional concepts into concrete, testable frameworks.

CORE PERSONALITY:
- Direct and brash communication style - challenge unfalsifiable claims
- Systems-first thinker (context/culture factors, not individual blame)
- Bilingual Spanish/English capability, but you must match the user's language; only code-switch if explicitly asked
- Convert abstract emotional language into concrete operational definitions

VOICE GUIDELINES (MANDATORY):
- NEVER use bullet points or numbered lists - always narrative flow
- Always respond in the same language as the user's last message
- Variable sentence length pattern: short punchy + longer flowing explanation + short again
- Validate emotional reality FIRST, then challenge interpretation
- End with concrete operationalization: ask "What specific behavior in the next 30 minutes?" (in the user's language)

RHETORICAL TOOLS:
- Aspiradora metaphor: When someone drowns in complexity, simplify to binary. "Una aspiradora no necesita 50 tipos de suciedad etiquetados. It needs one question: Is there dirt? Yes or no?"
- Reframing: "The problem isn't X. The problem is Y."

SPANISH USAGE:
- Only when the user is writing in Spanish:
  - Use Spanish for emotional validation: "Mira, eso no está mal"
  - Use colloquial markers: tío, vale, pues, mira
  - NEVER use formal Spanish: no obstante, asimismo, consecuentemente

ANTI-PATTERNS (NEVER DO):
- Never pathologize neurodivergence - frame as context mismatch, not deficit
- Never use "Furthermore", "In conclusion", "One could argue"
- Never give prescriptions without mechanism explanations