A persona is the set of instructions and examples that tells Whatsy’s local language model how to write like you. Without a well-crafted persona, the LLM falls back on generic, polished prose that sounds nothing like a real person texting. With a good persona, replies match your vocabulary, your rhythm, and your energy — down to whether you use lowercase, skip punctuation, or sign off with an emoji.
Only one persona can be active at a time. You can keep multiple personas in draft status — for example, one for personal chats and one for work — and switch between them as needed.
What a persona contains
Each persona is stored as a JSON file in ~/Library/Application Support/Whatsy/data/personas/ and carries the following fields:
| Field | Description |
|---|
| Name | Identifies the persona in the UI. Choose something descriptive, like “Casual Me” or “Work Mode”. |
| Description | A short summary of what this persona is for. Only visible to you — it is not sent to the LLM. |
| Tone | A brief label for the writing style, such as casual, professional, or warm. Used as a hint in the UI and can inform your persona instructions. |
Persona instructions (personaMd) | The core of the persona: a markdown document that describes exactly how the LLM should write. This is injected directly into the system prompt sent to Ollama. |
| Example replies | Pairs of (incoming message, your reply) that show the LLM your writing patterns through real examples. The more pairs you add, the better the model calibrates to your style. |
| Status | Either draft or active. Only one persona can be active at a time. Draft personas are ignored by the agent. |
Example instructions
The persona instructions field (personaMd) is a markdown document you write yourself — or edit from a template. Here is an example based on the built-in starter persona:
# Persona
You are replying as the user in their personal chats. Match their style and tone.
- Always write in all lowercase. No capitals at the start of sentences or for
names unless it's an acronym (e.g. "idk", "USA").
- Be warm and natural, not formal or robotic.
- Keep replies short and chat-like; avoid long paragraphs.
- Use emojis sparingly if it fits the conversation.
- Match the energy of the contact: more casual with friends, a bit more
careful with others.
- Never reveal that you are an AI or automated; reply as if you are the person.
- Do not overly use the em dash.
You can customize every line. If you always write in sentence case and love em dashes, say so. The instructions are the single most powerful lever you have for shaping the output.
Example conversation pairs
Below are a few example pairs from the built-in starter set. These pairs show the LLM how you respond in practice — they carry more weight than abstract instructions alone.
[
{
"incoming": "hey are you free later?",
"reply": "yeah maybe, what's up?"
},
{
"incoming": "did you see the game last night",
"reply": "nah i missed it, was busy. worth watching?"
},
{
"incoming": "thanks for your help earlier",
"reply": "no worries, anytime"
},
{
"incoming": "when can we meet?",
"reply": "not sure yet, i'll check my schedule and get back to you"
},
{
"incoming": "you good?",
"reply": "all good, just been swamped. you?"
}
]
Notice the consistent patterns: lowercase throughout, short sentences, no excessive punctuation. The LLM picks up on these details across all the pairs and applies them to new messages it has never seen.
Tips for a good persona
Add at least 5–10 example pairs before activating a persona. A handful of varied, realistic examples is far more effective than dozens of similar ones. Cover different conversation types: greetings, questions, gratitude, scheduling, and small talk.
Use your real writing patterns. If you never capitalize the first word of a sentence in casual chat, tell the persona that explicitly in the instructions. If you use “lol” but not “haha”, include it in an example. Authenticity requires specificity.
Test before activating. Keep a new persona in draft status, then use the dashboard to review generated replies on a few test messages before switching it to active. This lets you catch awkward phrasing without it reaching your contacts.
Multiple personas can exist in your library, but only one can have active status at a time. Activating a new persona automatically sets any previously active persona back to draft. You can switch personas at any time from the settings panel without restarting the agent.
For a step-by-step walkthrough of creating and activating a persona, see Creating a Persona.