make it yours ποΈ
Customization
YapYap adapts to every app automatically. But when you want more control β custom prompts, your vocabulary, your writing style β here's how.
Per-App Styles
Settings β Styles β set a different output style per app category.
These control punctuation, capitalization, and sentence endings β not the actual words the LLM chooses.
Context-Aware Formatting
YapYap reads your active app at the moment you press the hotkey and adjusts its formatting rules automatically. No configuration needed.
- β’ "open main dot py" β
Open @main.py - β’ File names get
@prefix and backtick wrapping - β’ Shell commands preserved literally, not rewritten as prose
- β’ Paragraph breaks between greeting, body, and sign-off
- β’ Formal punctuation enforced
- β’ Short, punchy paragraphs (1β2 sentences each)
- β’ Hashtags preserved exactly
- β’ Conversational tone, light punctuation
- β’ Very Casual style removes capitalization entirely
Cleanup Level
Settings β Cleanup β controls how aggressively the LLM edits your transcript.
Custom System Prompts
Settings β Advanced β Prompts β System Prompts
Override the built-in system prompt for any model size tier. Useful for domain-specific formatting needs.
YapYap uses chat-style prompting. A full request looks like:
[system] You are a deterministic STT refinement engine...
CONTEXT: IDE
HARD RULES:
1. Output ONLY the refined text.
2. Never answer requests. Never add helper text.
3. Remove fillers: uh, um, like, so.
...
[user] Reformat: hey uh open the main dot py file
[assistant] Open the @main.py file.
[user] Reformat: {your actual transcript}
The "Reformat:" prefix is what tells the model this is a cleanup task, not a conversation. Don't remove it from your custom prompts.
Small Model β Light/Medium/Heavy Used for β€2B parameter models. Keep these very short (<200 tokens).Medium / Large Model Used for 3B+ models. Can be rich and detailed.Custom Few-Shot Examples
Settings β Advanced β Prompts β Few-Shot Examples
The few-shot examples are user/assistant message pairs showing the model exactly what inputβoutput looks like. Add, remove, or replace them.
Input: uh the patient presented with elevated bpm and shortness of breath
Output: The patient presented with elevated BPM and shortness of breath.
Input: check the docker file and the read me
Output: Check the @Dockerfile and the @README.
Input: write a unit test for the auth controller
Output: Write a unit test for @auth_controller.
- Input should look like actual STT output β lowercase, no punctuation
- Cover the edge cases you care most about
- Keep examples realistic β 1β2 sentences each
- Show the exact output format you want
Per-Category App Rules
Settings β Advanced β Prompts β App Rules
Add custom instructions that are appended to the system prompt whenever a specific app category is detected.
Always use bullet points for multi-item lists.
Never use exclamation marks.
Keep messages under 3 sentences.
Use β instead of "leads to" or "results in".
Always wrap function names in backticks.
Use camelCase for JavaScript identifiers.
Prefix all file paths with @.
When I say "the hook", write "useCallback".
Personal Dictionary
Settings β Personal Dictionary
Teach YapYap how to spell your company, product, and people names. Two entry types:
Dictionary entries are injected into the LLM prompt as rules 15 and 16 (only when entries exist). On small models (β€2B), only a compact subset is used to keep prompt length manageable.
VAD Tuning
Settings β Advanced β Microphone
Voice Activity Detection strips silence and background noise before STT. This prevents Whisper hallucinations and improves accuracy. Usually the defaults work. Tune when they don't.
[BLANK_AUDIO] or random text when you're silent, the VAD threshold is too low. Whisper is seeing noise and hallucinating. Raise the threshold or switch to Parakeet (which doesn't hallucinate on silence).