Công cụ không thể thiếu
của Vibecoder Việt Nam.The essential tool
for Vibecoders in Vietnam.
Vibecoder = dev VN sống trong Cursor / Claude / Copilot, ship feature bằng cách trao đổi liên tục với AI bằng tiếng Việt + jargon tech English. Vấn đề: prompt càng chi tiết AI càng hiểu sâu, mà gõ 300 từ thì ai làm? MONA VibeVoice — tap Ctrl 2× + giữ, nói tự nhiên, nhả ra → auto-paste vào AI. Nhanh gấp ~4× gõ. Tay rảnh, prompt dài, AI ship đúng lần 1.Vibecoder = a VN dev living in Cursor / Claude / Copilot, shipping features through constant conversation with AI in Vietnamese + English tech jargon. The problem: longer prompts mean AI understands deeper — but typing 300 words? Nobody does that. MONA VibeVoice — tap Ctrl 2× + hold, speak, release → auto-paste into AI. ~4× faster than typing. Hands free, long prompts, AI ships right first try.
// 1:1 recreation từ OverlayWindowController.swift · 420×84pt pill, black 88% · waveform bars 0.6s easeInOut · pulse 0.85↔1.15// 1:1 recreation from OverlayWindowController.swift · 420×84pt pill, 88% black · waveform bars 0.6s easeInOut · pulse 0.85↔1.15
Vibecoder/vaib·kou·dər/ · noun
1. Dev VN sống trong Cursor, Claude Code, Copilot Chat. Ship feature bằng cách trao đổi liên tục với AI — không phải gõ từng dòng code mà mô tả intent + constraint + edge case bằng ngôn ngữ tự nhiên.1. A VN dev living in Cursor, Claude Code, Copilot Chat. Ships features through constant conversation with AI — not typing line-by-line, but describing intent + constraints + edge cases in natural language.
2. Sử dụng tiếng Việt để kể lý do (anh muốn UX này vì user của anh hay nhầm chỗ kia), tiếng Anh cho jargon kỹ thuật (useState, async/await, throw NotFoundError). Mỗi ngày 50+ prompts. Tay sẽ chết nếu phải gõ tay từng cái.2. Uses Vietnamese to explain why (this UX because users keep getting confused there), English for technical jargon (useState, async/await, throw NotFoundError). 50+ prompts per day. Hands die from typing all of them.
"Trước đây mình gõ tay 'đệ check giùm anh cái pull request mới ở repo screenboard' — 8 giây. Giờ tap-tap-hold Ctrl, nói nguyên câu — 3 giây, đẹp hơn, đúng tên brand 'ScreenBoard' luôn, không bao giờ phải sửa thủ công." — Khánh, 28, Vibecoder, đang dùng beta."Used to type 'đệ check giùm anh cái pull request mới ở repo screenboard' — 8 seconds. Now I tap-tap-hold Ctrl, say the whole sentence — 3 seconds, cleaner, brand name 'ScreenBoard' is always correct, no manual fixing." — Khánh, 28, Vibecoder, beta user.
Tao tự code app này.
Tao tự dùng mỗi ngày.
Anh em xài theo kiểu đó.I coded this app myself.
I use it every day.
You can use it the same way.
Đây không phải product team outsource. Không phải brief gửi ngoại quốc. MONA VibeVoice được build bởi chính 1 Vibecoder VN — vì pain point đó là pain point của tao mỗi ngày: vibe code với Claude bằng tiếng Việt + jargon English mà không có tool nào hiểu.This isn't an outsourced product team. Not a brief sent abroad. MONA VibeVoice is built by one VN Vibecoder — because the pain point IS my daily pain point: vibe coding with Claude in Vietnamese + English jargon, with no tool that understands.
Mỗi feature ship
vì tao cần nó.Every feature ships
because I needed it.
Hybrid Groq + Gemini fixup? Vì Whisper đọc "useState" thành "use state" làm tao điên. Replacement Rules với 7 default brand MONA? Vì tao gõ tên brand mỗi ngày. Click-from-history learn? Vì tao lười add rule trước.Hybrid Groq + Gemini fixup? Because Whisper turning "useState" into "use state" drove me nuts. Replacement Rules with 7 default MONA brands? Because I type these brand names daily. Click-from-history learning? Because I'm too lazy to add rules upfront.
Screenshot dưới đây
là Mac của tao.Screenshots below
are from my own Mac.
Tab Audio: ZOOM F3 Driver — pro field recorder tao đang xài. Tab History: 35 transcript thật về vibe coding với Cursor + Claude. Tab API Keys: Groq + Gemini key thật của tao (đã blur). Không có cái nào là demo data.Audio tab: ZOOM F3 Driver — the pro field recorder I'm currently using. History tab: 35 real transcripts about vibe coding with Cursor + Claude. API Keys tab: my actual Groq + Gemini keys (blurred). No demo data anywhere.
Cả landing này
cũng đọc bằng app.Even this landing
was spoken via the app.
50+ prompt mỗi ngày tao nói qua VibeVoice vào Claude Code để build app + landing này. Nếu app sai 1 lần là tao biết liền. Bug fix trong vài giờ vì tao là user đầu tiên + đau nhất.50+ prompts a day I dictate through VibeVoice into Claude Code to build the app + landing. App breaks once and I know immediately. Bug fixes in hours because I'm the first user + the most pained one.
9 screenshot · 8 tabs · setup thật của tao9 screenshots · 8 tabs · my actual setup
// Anh em xài theo kiểu này: tải về → setup 30 phút → nói thẳng vào Cursor / Claude của mình. App được code bởi 1 Vibecoder, dành cho Vibecoder. Không có khoảng cách giữa "người làm" và "người dùng".// Use it the same way: download → 30-min setup → speak directly into your Cursor / Claude. Built by a Vibecoder, for Vibecoders. No gap between "the maker" and "the user".
4 bước. ~3 giây.4 steps. ~3 seconds.
Bấm phím tắt → nói → app transcribe → auto-paste vào ô đang focus. Không restart, không UI cản trở.Hit hotkey → speak → app transcribes → auto-pastes into the focused field. No restart, no UI in the way.
Hoặc double-tap Ctrl. Hotkey global, app nào focus cũng nghe được.
Or double-tap Ctrl. Global hotkey works no matter what's focused.
"viết hàm async fetch user theo id, throw nếu 404"
"write async fetch user by id, throw if 404"
Groq Whisper bắt audio. Gemini Flash sửa code-switching VN↔EN.
Groq Whisper captures audio. Gemini Flash fixes VN↔EN code-switching.
Cmd+V vào Cursor. Đọc "gửi đi" để tự nhấn Enter.
Cmd+V into Cursor. Say "gửi đi" to auto-press Enter.
Prompt càng dài.
AI càng hiểu đúng.
Mà tay không thèm gõ.The longer the prompt.
The more AI gets it right.
But hands won't type.
Vibe coding khác viết code thường: mày phải trao đổi và diễn giải rất nhiều với AI. Càng nói chi tiết về intent, constraint, edge case, naming convention — output càng đúng ý ngay lần 1. Nhưng gõ 300 từ prompt cho mỗi task? Lười. Cuối cùng mày gõ 30 từ, AI đoán mò, code sai, lặp 3 vòng. VibeVoice đập vỡ paradox này: nói prompt nhanh gấp ~4× gõ — diễn giải thoải mái không sợ đau tay.Vibe coding isn't normal coding: you have to explain a lot to the AI. The more you spell out intent, constraints, edge cases, naming — the closer the first output. But typing 300 words per prompt? Lazy. Most devs type 30 words, AI guesses, code's wrong, 3 iterations later... VibeVoice breaks this paradox: speaking is ~4× faster than typing — go as detailed as you want without RSI.
Dev gõ tiếng Việt có dấu chậm hơn nữa.VN devs typing diacritics — even slower.
Lưu loát tự nhiên, không cần ngắt từng phím.Natural fluency — no key-by-key pause.
Cùng 1 prompt 300 từ: gõ 7m30s vs nói 2m.Same 300-word prompt: typing 7m30s vs speaking 2m.
Cùng 1 task. 2 prompt khác độ chi tiết. AI ra 2 output cách nhau 1 trời 1 vực.Same task. 2 prompts of different depth. AI ships 2 wildly different outputs.
// Test thật trên Claude Sonnet 4.5 — task: "fetch user by id". Cả 2 prompt cùng dev, prompt ngắn gõ 12 giây, prompt dài đọc 28 giây.// Real test on Claude Sonnet 4.5 — task: "fetch user by id". Same dev, short prompt typed in 12s, long prompt spoken in 28s.
async function fetchUser(id) {
const res = await fetch('/users/' + id)
return res.json()
}- ✗ Không TypeScript typesNo TS types
- ✗ Không handle error / 404No error / 404 handling
- ✗ Hardcode URL không dùng envHardcoded URL, no env
- ✗ Không validate responseNo response validation
- → Iterate 3 lần mới đúng. Tốn thêm 4 phút.3 iterations to get right. +4 min wasted.
async function fetchUser(id: string) {if (!id) return nullconst res = await api.get(`/users/${id}`)if (res.status === 404)throw new NotFoundError()if (res.status >= 500)throw new NetworkError()return userSchema.parse(await res.json())}
- ✓ TypeScript types đúngCorrect TS types
- ✓ 2 error class riêng cho 404 + 5xxSeparate 404 + 5xx error classes
- ✓ Dùng api wrapper có sẵnUses existing api wrapper
- ✓ Zod parse + null guard cho id rỗngZod parse + null guard for empty id
- → Đúng ý ngay. Click Accept. Done.Right first try. Click Accept. Done.
Mà voice tool khác (Whisper Pro / SuperWhisper / macOS dictation) không gánh được prompt vibe coding tiếng Việt — tụi nó phiên âm "useState" thành "use state", "async" thành "a sing". VibeVoice hybrid Groq + Gemini fixup giữ nguyên thuật ngữ EN trong câu VN — output paste thẳng, không sửa tay.And other voice tools (Whisper Pro / SuperWhisper / macOS dictation) can't handle Vibecoder prompts — they turn "useState" into "use state", "async" into "a sing". VibeVoice's hybrid Groq + Gemini fixup preserves EN terms in VN sentences — paste directly, no hand-fixing.
Cùng 1 câu nói. 3 output khác nhau.Same sentence. 3 different outputs.
5 preset.
Mỗi dev
chọn 1 hợp tay.5 presets.
Pick the one
that fits.
Không có "model chuẩn cho mọi người". Switch preset trong Settings → Backend, không restart. BYO API key Groq + Gemini — không proxy qua MONA, mày trả pay-as-you-go cho provider (~$0.001/phút).No "one model fits all". Switch preset in Settings → Backend, no restart. BYO Groq + Gemini API key — no MONA proxy, you pay-as-you-go directly to providers (~$0.001/min).
2.4s qua 123 lần dictate gần nhất.Live latency tracking: Settings shows avg 2.4s over last 123 dictations.
// 📷 Screenshot thật — MONA VibeVoice v1.8.0 · tab Backend đang chạy preset Cân bằng VN+EN.// 📷 Real screenshot — MONA VibeVoice v1.8.0 · Backend tab on Cân bằng VN+EN preset.
Tải về → mở app → 5 phút setup → dictate.Download → open → 5-min setup → dictate.
WelcomeWelcome
Đọc tóm tắt features 30 giây · biết mình đang chuẩn bị gì.Read 30s feature summary · know what you're getting into.
API KeysAPI Keys
Paste Groq + Gemini key vào → click "Test" → xanh OK · 18 models hoặc đỏ "key sai" · verify ngay không phải nói thử.Paste Groq + Gemini keys → click "Test" → green OK · 18 models or red "key invalid" · verify upfront, not guess later.
PermissionsPermissions
Cấp Microphone (record audio) + Accessibility (paste + hotkey). Input Monitoring optional cho F-keys advanced.Grant Microphone (record audio) + Accessibility (paste + hotkey). Input Monitoring optional for advanced F-keys.
Test recordingTest recording
Tap Ctrl 2× + giữ → nói "xin chào, tôi đang test app" → nhả → app paste vào textbox test. Xanh ✓ = ready.Tap Ctrl 2× + hold → say "hello, testing the app" → release → app pastes into test textbox. Green ✓ = ready.
Mua Pro xong → email gửi link monavibevoice://activate?key=MONA-LIC-... → click → app tự open + activate. Không paste tay.After buying Pro → email link monavibevoice://activate?key=MONA-LIC-... → click → app auto-opens + activates. No manual paste.
Sau GA: cài app lần đầu → trial Pro 7 ngày tự bật. Mọi feature mở. Không cần card. Hết 7 ngày: app vẫn dùng được Free, mua 199k khi nào sẵn sàng.After GA: first install → 7-day Pro trial auto-activates. All features unlocked. No card. After 7 days: app still works as Free, buy 199k when ready.
App học từ chính lỗi
của mày. 30 phút setup → 95% accuracy.App learns from your own
mistakes. 30-min setup → 95% accuracy.
Mỗi dev có brand riêng, jargon riêng, tên đồng nghiệp riêng. Whisper baseline là 70-80% — vì nó không biết "Khánh", "MONA", "monavibevoice.com", "đệ", "Tauri" là cái gì. VibeVoice ship 2 cơ chế custom hóa + 1 workflow learn-from-history → mỗi tuần app tự đúng hơn 1 chút.Every dev has their own brands, jargon, teammate names. Whisper baseline is 70-80% — it doesn't know "Khánh", "MONA", "monavibevoice.com", "Tauri" mean. VibeVoice ships 2 customization mechanisms + 1 learn-from-history workflow → app gets more correct every week.
Vocabulary
Soft bias — Whisper ưu tiên các từ này khi audio ambiguous. Add 20-50 từ domain-specific (tên brand, jargon tech, tên đồng nghiệp). Nói càng nhiều từ trong list, accuracy càng cao.Soft bias — Whisper prefers these terms when audio is ambiguous. Add 20-50 domain-specific words (brand names, tech jargon, teammate names). The more these words appear in your speech, the higher accuracy.
MONA, ScreenBoard, VibeVoice, Cursor, Claude, Tauri, useState, async, throw, deploy, server, Mon, Khánh, đệ, mày, tao
// Settings → Vocabulary · max ~50 từ (nhiều quá làm prompt nặng)// Settings → Vocabulary · max ~50 words (too many bloats the prompt)
Replacement Rules
Hard force replace — luôn replace alias → canonical bất kể Whisper nghe gì. Case + diacritic insensitive: vai vốt / Vai Vốt / vai vot đều match → ra VibeVoice. Word boundary an toàn: advaivod KHÔNG match.Hard force replace — always replace alias → canonical no matter what Whisper hears. Case + diacritic insensitive: vai vốt / Vai Vốt / vai vot all match → output VibeVoice. Safe word boundary: advaivod doesn't match.
// Ship sẵn 7 default rules · ~87 aliases curated từ chính dev session làm app// 7 default rules ship out-of-box · ~85 curated aliases from the dev's own sessions
Double-click 1 từ sai. App học. Không bao giờ sai lại.Double-click a wrong word. App learns. Never wrong again.
Workflow độc nhất: Whisper paste ra "Vivoid" thay vì "VibeVoice" → mở Settings → History → double-click "Vivoid" → popover hiện → chọn rule "VibeVoice" → Lưu. Lần sau Whisper ra "Vivoid" nữa → app tự sửa thành "VibeVoice". App học từ chính lỗi của mày, không cần đoán trước hay setup phức tạp.Unique workflow: Whisper outputs "Vivoid" instead of "VibeVoice" → open Settings → History → double-click "Vivoid" → popover appears → pick rule "VibeVoice" → Save. Next time Whisper hears "Vivoid" again → app auto-fixes to "VibeVoice". App learns from your own errors, no upfront guesswork.
VivoidSettings → History→ VibeVoice ✓Vivoid → VibeVoice// Sau 1 tháng dùng + 5 phút/tuần maintenance → accuracy tự đạt > 97% cho domain riêng của mày// After 1 month + 5 min/week maintenance → accuracy auto-reaches > 97% for your specific domain
Playbook 30 phút: 70% → 95% accuracy30-min playbook: 70% → 95% accuracy
Làm xong 5 bước này 1 lần là dùng được luôn cho công việc cá nhân. Mỗi bước impact rõ ràng — switch backend +10-15%, vocabulary +10-15%, replacement rules +5-10%, speak technique +5-10%, hậu xử lý +5%.Do these 5 steps once and you're set for personal work. Each step has measurable impact — switch backend +10-15%, vocabulary +10-15%, replacement rules +5-10%, speak technique +5-10%, post-processing +5%.
Pre-flightPre-flight
Permissions xanh hết · mic test · API key Groq + Gemini paste vào.All permissions green · mic test · paste Groq + Gemini API keys.
Chọn backendPick backend
Vibecoder → Hybrid Balanced. Audio kém → Most Accurate. Speed → Pure Groq.Vibecoder → Hybrid Balanced. Noisy audio → Most Accurate. Speed → Pure Groq.
Vocabulary 20-50 từVocabulary 20-50 words
Tên brand, đồng nghiệp, jargon tech. Cách nhau dấu phẩy. KHÔNG quá 50.Brand names, colleagues, tech jargon. Comma-separated. NOT more than 50.
Replacement RulesReplacement Rules
Load 7 default MONA rules. Add tên brand mày: 5-10 alias mỗi rule (vd "vai vốt", "vibe voice" → VibeVoice).Load 7 default MONA rules. Add your brand: 5-10 aliases per rule ("vai vốt", "vibe voice" → VibeVoice).
Test với benchmarkTest with benchmark
10 câu test có sẵn. Score 9-10/10 = 95%+ ✅ ready. <7 = back to 02-04.10 built-in test sentences. Score 9-10/10 = 95%+ ✅ ready. <7 = back to 02-04.
5 phút mỗi tuần: mở Settings → History → scan transcript có lỗi → double-click từ sai → add alias → Lưu. Sau 1 tháng app tự đạt > 97% cho domain riêng của mày. Không phải retrain model — không phải pay tiền — chỉ đơn giản là dùng + sửa.5 min per week: open Settings → History → scan transcripts with errors → double-click wrong word → add alias → Save. After 1 month, app auto-reaches > 97% for your specific domain. No retraining — no payments — just use + correct.
Mọi mic. Mọi setup.
Lấy về là chạy.Every mic. Every setup.
Plug in and go.
Test thật ở studio MONA + nhà — không claim suông. Dưới đây là devices verified WER < 8%.Tested at MONA studio + home — not just spec claims. Devices verified at WER < 8% below.
| Device | WER |
|---|---|
| MacBook Pro built-in | 6-8% |
| Shure SM7B + audio interface | 3-5% |
| Blue Yeti / FIFINE K669 | 5-7% |
| AirPods Pro 2 | 7-9% |
| Sony WH-1000XM5 | 7-9% |
| Apple EarPods (3.5mm) | 7-9% |
| Logitech H390 / G Pro X | 6-8% |
| iPhone via Continuity Camera | 8-10% |
// Mic không có trong list? 99% vẫn chạy — app dùng AVCaptureDevice nên bất kỳ thiết bị nào macOS thấy được, app cũng thấy. Lỗi → ping info@themona.global kèm screenshot Settings → Audio.// Mic not on the list? 99% still works — app uses AVCaptureDevice, so anything macOS sees, the app sees. Bug → ping info@themona.global with Settings → Audio screenshot.
2 mode hotkey. Học 10 giây.2 hotkey modes. 10 seconds to learn.
4-mode fallback: Carbon → CGEventTap → NSEvent → Double-modifier. macOS chặn 1 mode app tự fallback. Permission flow trong Settings → Permissions.4-mode fallback: Carbon → CGEventTap → NSEvent → Double-modifier. macOS blocks one mode, app falls back. Permission flow in Settings → Permissions.

// 📷 Screenshot thật — tab Behavior · push-to-talk Double Ctrl + 'gửi đi' trigger active.// 📷 Real screenshot — Behavior tab · push-to-talk Double Ctrl + 'gửi đi' trigger active.


// Strings từ SettingsWindow.swift hotkey picker — không invent.// Strings from SettingsWindow.swift hotkey picker — not invented.
7 thứ nhỏ. Mỗi cái fix 1 pain tao gặp.7 small things. Each fixes 1 pain I hit.
Đây không phải feature dán brochure. Mỗi cái có lý do cụ thể: lần X tao bị stuck mic vì giữ Ctrl quên thả → ship Auto-stop. Lần Y paste fail vì window đổi focus → ship Re-paste. Lần Z key Groq sai mà tao nói thử mới biết → ship API key Test.Not brochure features. Each has a concrete reason: time X I had stuck mic because I forgot releasing Ctrl → shipped Auto-stop. Time Y paste failed because window lost focus → shipped Re-paste. Time Z my Groq key was wrong and I had to dictate to find out → shipped API key Test.
Hủy 1 record — 3 cáchCancel a recording — 3 ways
- Escbấm bất cứ lúc nào → cancelpress anytime → cancel
- ✕click X góc phải overlay pillclick X on overlay corner
- 🎤nói "hủy" / "huỷ" / "cancel" cuối câu → discardsay "hủy" / "cancel" at end → discard
Auto-stop sau 5 phútAuto-stop after 5 min
Configurable 1 / 3 / 5 / 10 / 30 phút. Chống stuck mic nếu phím Ctrl bị giữ kẹt hoặc app miss key-up event. Battery + privacy safe.Configurable 1 / 3 / 5 / 10 / 30 min. Prevents stuck mic if Ctrl gets stuck or app misses key-up. Battery + privacy safe.
Track tiết kiệm thậtTrack real savings
Settings → About hiện stats: tổng số transcript · tổng thời gian dictate · avg latency · ước tính tiết kiệm so với gõ tay (~15s/transcript). Số đẹp = motivation tiếp tục dùng.Settings → About shows stats: total transcripts · total dictate time · avg latency · estimated savings vs typing (~15s/transcript). Nice numbers = motivation to keep using.
Click icon menu barClick menu bar icon
- 💬 Preview transcript gần nhất (50 char)Preview last transcript (50 char)
- ⌘⇧C Copy transcriptCopy transcript
- ⌘⇧V Re-paste (khi paste fail vì focus đổi)Re-paste (when paste failed due to focus change)
Smart text formattingSmart text formatting
- ✓ Tự thêm dấu
.cuối câu nếu Gemini quên (toggle off cho chat)Auto-add.if Gemini forgets (toggleable for chat) - ✓ Chống random caps giữa câu (
Hôm nay Tôi Deploy→Hôm nay tôi deploy)Prevent random caps mid-sentence (Hôm nay Tôi Deploy→Hôm nay tôi deploy) - ✓ Code-switching auto-fix (
đì-pờ-loi→deploy)Code-switching auto-fix (đì-pờ-loi→deploy)
Export history → JSONExport history → JSON
Backup hoặc analyze usage patterns. Schema gồm: timestamp · text · duration · latency · backend · appBundle. Useful cho researcher hoặc 1-người-team analyzing dictation efficiency.Backup or analyze usage patterns. Schema: timestamp · text · duration · latency · backend · appBundle. Useful for researchers or solo teams analyzing dictation efficiency.
Test API key trước khi dùng — không phải nói thử mới biết key saiTest API key upfront — no more guessing by dictating first
Settings → API Keys → click "Test" ngay bên cạnh field. Đợi 1-2 giây:Settings → API Keys → click "Test" next to the field. Wait 1-2 seconds:
Built primarily cho Vibecoder Việt Nam.Built primarily for VN Vibecoders.
Mọi feature trong app đều design cho 1 user chính: Vibecoder — dev VN sống trong Cursor / Claude / Copilot. 3 use case còn lại là bonus side-effect.Every feature is designed for one primary user: Vibecoders — VN devs living in Cursor / Claude / Copilot. The other 3 use cases are bonus side-effects.
Khánh, 28
Vibecoder với Cursor / ClaudeKhánh, 28
Vibecoder on Cursor / Claude
Pain: Gõ prompt VN cho Claude/Cursor mỗi 30 giây — mệt cổ tay. macOS Dictation không biết deploy/server/MCP/Tauri/MONA. Wispr Flow EN-only, gõ accent VN không đúng. Dictation system nghe "đệ" thành "đi" → output rác.Pain: Typing VN prompts to Claude/Cursor every 30s — wrist fatigue. macOS Dictation doesn't know deploy/server/MCP/Tauri/MONA. Wispr Flow is EN-only, broken with VN accent. Dictation hears "đệ" as "đi" → garbage.
ROI: ~5 giây / prompt × 50 prompts/ngày = 4 phút/ngày = 24 giờ/năm. Plus Vocabulary "đệ, mày, tao, anh" + Replacement Rules brand riêng → app hiểu giọng Khánh sau 1 tuần.ROI: ~5s / prompt × 50 prompts/day = 4 min/day = 24 hours/year. Plus Vocabulary "đệ, mày, tao, anh" + brand-specific Replacement Rules → app understands Khánh's voice after 1 week.
- ✓Push-to-talk Double Ctrl: tap Ctrl 2× nhanh + giữ. Nhả ra để stop. Carbon API → KHÔNG cần Accessibility cho hotkey. Custom được trong Settings — single key, modifier combo, hoặc double-modifier mode khác.Push-to-talk Double Ctrl: tap Ctrl 2× fast + hold. Release to stop. Carbon API → NO Accessibility needed for hotkey. Customizable in Settings — single key, modifier combo, or other double-modifier modes.
- ✓Hybrid Groq + Gemini giữ
useState,async,throw new Errorđúng — không phiên âm bậy.Hybrid Groq + Gemini preservesuseState,async,throw new Error— no garbled terms. - ✓Auto-paste vào textbox đang focus của Cursor / Claude — không phải Cmd+Tab + Cmd+V.Auto-pastes into the focused Cursor / Claude input — no Cmd+Tab + Cmd+V dance.
- ✓Đọc "... gửi đi" để app tự nhấn Enter — prompt → AI thinking → mày click Accept. 1-tay workflow.Say "... gửi đi" ("send it") to auto-press Enter — prompt → AI thinks → you click Accept. One-handed workflow.
> viết hook useUserProfile theo user id type string trong typescript dùng react-query cache 5 phút staleTime retry 2 lần với exponential backoff base 1000ms schema parse bằng zod từ types/user.ts đã import sẵn return loading + error + data destructured ra rõ ràng nếu user role là admin thì prefetch luôn /api/admin/perms gửi đi
// 64 từ · gõ 7m30s · nói 28s · AI ship đúng ngay lần 1
Linh · solopreneur content writerLinh · solopreneur content writer
Online course + blog VN. Pain: macOS Dictation nghe nhầm tên brand mỗi 2 phút, sửa tay đau đầu. VibeVoice Replacement Rules fix "Mô na vai vốt" → "MONA VibeVoice" tự động. 199k lifetime vs $144/năm.Online course + VN blog. Pain: macOS Dictation mishears brand names every 2 min, manual fix is painful. VibeVoice Replacement Rules auto-fix "Mô na vai vốt" → "MONA VibeVoice". 199k lifetime vs $144/year.
> ## Setup môi trường dev > chạy npm install rồi > export MONA_API_KEY trong > .env.local của VibeVoice
An · YouTube tech bloggerAn · YouTube tech blogger
Script YouTube 2000-5000 từ VN + jargon (useEffect, Server Actions, API Route). Pain: nói nhanh thì macOS transliterate jargon thành "use effect" / "server actions". Hybrid Tech-Dev preset giữ đúng tech terms.YouTube scripts 2000-5000 words VN + jargon (useEffect, Server Actions, API Route). Pain: speaking fast → macOS transliterates jargon to "use effect" / "server actions". Hybrid Tech-Dev preset preserves tech terms.
> useEffect chạy 1 lần > mount component, cleanup > trong return statement > để tránh memory leak
Mai · casual Mac user (non-dev)Mai · casual Mac user (non-dev)
Slack / Telegram / iMessage VN. Pain: gõ telex / VNI quá lâu. VibeVoice Auto Enter mode: hold Ctrl → nói → nhả → tự gửi. Nhanh hơn gõ tay 4×. VN native, accuracy cao hơn macOS Dictation.Slack / Telegram / iMessage in VN. Pain: telex / VNI typing is too slow. VibeVoice Auto Enter mode: hold Ctrl → speak → release → auto-send. 4× faster than typing. VN-native, higher accuracy than macOS Dictation.
# Auto Enter mode ON: > Ctrl·Ctrl HOLD > "tối nay đi ăn không" > RELEASE → paste + Enter > ✓ message sent
vs Wispr Flow.
vs Superwhisper. vs macOS Dictation.vs Wispr Flow.
vs Superwhisper. vs macOS Dictation.
| Tính năngFeature | VibeVoice | Wispr Flow | Superwhisper | macOS Dictation |
|---|---|---|---|---|
| GiáPrice | 199K lifetime · GA | $144 / năm · subscription | $102 / năm · subscription | Free · built-in |
| Tiếng Việt nativeNative Vietnamese | ✓ first-class · Whisper-v3-turbo + Gemini fixup | EN-only · không support VN | Generic multilingual · không VN-specific | VN support yếu · accuracy thấp |
| Code-switching VN+ENVN+EN code-switching | ✓ Gemini fixup giữ tech terms | ✗ EN-only | Auto-detect · ambiguous với mix | ✗ transliterate jargon |
| Replacement Rules · brandReplacement Rules · brand | ✓ KILLER · 7 default + custom · case + diacritic insensitive | ✗ | ✗ | ✗ |
| License portablePortable license | ✓ signed JSON · reinstall macOS không mất | ✗ server binding strict | ✗ server binding strict | n/a · OS bundled |
| Hotkey không cần permissionPermission-free hotkey | ✓ Carbon API · no Accessibility cho hotkey | ✗ cần Accessibility từ day 1 | ✗ cần Accessibility từ day 1 | ✓ system-level |
| Hallucination filterHallucination filter | ✓ 35+ phrases YouTube subtitle leak auto-discard | ? | ? | ✗ |
| Frozen zones (URL/email)Frozen zones (URL/email) | ✓ auto-detect 40+ TLD · không méo domain | ? | ? | ✗ |
| Voice cancel · 'hủy'Voice cancel — 'hủy' | ✓ nói "hủy" giữa câu → discard | ✗ | ✗ | ✗ |
| BYO API keyBYO API key | ✓ pay-as-you-go · ~$0/month cá nhân | ✗ bundled · pay subscription | ✓ optional · BYO support | n/a |
| Click-from-history → add aliasClick-from-history → add alias | ✓ KILLER · double-click sai → app học | ✗ | ✗ | ✗ |
| Onboarding wizard 4-stepOnboarding wizard 4-step | ✓ Welcome · API key · Permissions · Test | ⚠ basic | ⚠ basic | n/a |
| 7-day Pro Trial · không card7-day Pro Trial · no card | ✓ tự active lần đầu launch · không cần card | ⚠ trial paywall | ✓ 14 ngày trial | n/a |
| API key inline testAPI key inline test | ✓ "Test" button · OK 18 models / sai key đỏ | ✗ bundled key | ✓ optional validation | n/a |
| History export JSONHistory export JSON | ✓ timestamp · text · latency · backend · appBundle | ✗ | ⚠ TXT only | ✗ |
| Menu bar quick actionsMenu bar quick actions | ✓ Preview · ⌘⇧C copy · ⌘⇧V re-paste | ⚠ basic | ⚠ basic | ✗ |
| Random caps fixRandom caps fix | ✓ "Hôm nay Tôi Deploy" → "Hôm nay tôi deploy" | ⚠ | ⚠ | ⚠ |
| Auto end punctuationAuto end punctuation | ✓ smart · toggleable cho chat mode | ✓ | ✓ | ⚠ |
199k vs $720+199k vs $720+
Wispr Flow $12/tháng × 60 tháng = $720 (~17.5tr VND). Superwhisper $8.49 × 60 = $510 (~12.4tr). VibeVoice 199k một lần dùng đến khi macOS chết. Cộng thêm BYO API key → ~$0/tháng cá nhân. Cà phê 1 tháng vs subscription 5 năm.Wispr Flow $12/mo × 60 mo = $720. Superwhisper $8.49 × 60 = $510. VibeVoice 199k one-time until macOS dies. Plus BYO API key → ~$0/mo personal. One coffee month vs 5-year subscription.
"đệ check repo screenboard""đệ check repo screenboard"
- macOS Dictation → "đi check repos screen board" ✗ 2 sai
- Wispr Flow → "day check repo screen board" ✗ EN-only fail
- Superwhisper → "đệ check repo screen board" ⚠ 1 sai
- VibeVoice → "đệ check repo ScreenBoard" ✓ đúng
// Vocabulary "đệ" + Replacement Rules "ScreenBoard" lock đúng kết quả.
Beta đang 0đ.
GA sẽ là 199k lifetime.Beta is free.
GA will be 199k lifetime.
Hiện tại app đang trong beta — toàn bộ Pro features mở miễn phí, không cần license. Khi GA, mỗi user mới sẽ có 7 ngày Pro Trial tự động active. Hết trial: dùng được Free tier, mua 199k khi nào sẵn sàng. Beta user có loyalty discount riêng — sẽ ping qua Sparkle update khi GA.App is currently in beta — all Pro features unlocked for free, no license needed. At GA, every new user gets 7-day Pro Trial auto-activated. After trial: Free tier still works, buy 199k when ready. Beta users get a loyalty discount — will be notified via Sparkle update at GA.
Beta hiện mở 100% Pro features. Sau GA: Free tier giữ basic dictation (Groq only) + watermark.Beta has 100% Pro features unlocked. After GA: Free tier keeps basic dictation (Groq only) + watermark.
- ✓Basic dictation · Groq WhisperBasic dictation · Groq Whisper
- ✓BYO API keysBYO API keys
- ✓Default Double Ctrl hotkeyDefault Double Ctrl hotkey
- ✓Beta period: tất cả Pro features mởBeta: all Pro features unlocked
Mua xong, email gửi link monavibevoice://activate?key=... — click → app tự open + activate. Không paste tay.After buying, email link monavibevoice://activate?key=... — click → app auto-opens + activates. No paste.
- ✓Mọi feature mở (4 backend, custom hotkey, mic picker, Replacement Rules, history)All features unlocked (4 backends, custom hotkey, mic picker, Replacement Rules, history)
- ✓License portable · reinstall macOS không mấtPortable license · survives macOS reinstall
- ✓Update v1.x miễn phí qua SparkleFree v1.x updates via Sparkle
- ✓14 ngày hoàn tiền · email support14-day refund · email support
- ✓Sale 1 lần · không subscriptionOne-time · no subscription
// Trong beta: pricing này là preview. GA sẽ ping qua Sparkle.// During beta: this pricing is preview. GA will ping via Sparkle.
Cho team dev nhỏ. Pricing chính thức + ship sau khi Pro stable. Email info@themona.global để pre-register + báo cần feature gì.For small dev teams. Official pricing + ship after Pro stabilizes. Email info@themona.global to pre-register + request features.
- ○5 seats · 1 license file dùng chung email5 seats · 1 license file shared via email
- ○Centralized vocabulary + Replacement Rules pushCentralized vocabulary + Replacement Rules push
- ○Priority email supportPriority email support
- ○On-prem ASR backend (enterprise)On-prem ASR backend (enterprise)
199k vs $720+199k vs $720+
- Wispr Flow $12/mo × 60 mo = $720 (~17.5tr VND)
- Superwhisper $8.49/mo × 60 mo = $510 (~12.4tr VND)
- VibeVoice Pro 199k một lần · BYO API key ~$0/mo cá nhân
- Cà phê 1 tháng vs subscription 5 năm.
51%
Một đơn 199k → 101k vào ví. Cookie 60 ngày — user click link xong 2 tháng sau mua vẫn tính.One sale at 199k → 101k in your wallet. 60-day cookie — user buys 2 months after click still counts.
Min 500k. MoMo / chuyển khoản (VN) hoặc PayPal / Wise (quốc tế). Dashboard real-time.Min 500k. MoMo / bank transfer (VN) or PayPal / Wise (intl). Real-time dashboard.
Conversion 0.5% (50 sale). 50 × 101k = 5.050.000đ. Quay 1 demo "vibe code by voice" — passive income.0.5% conv (50 sales). 50 × 101k = ~5M VND. One "vibe code by voice" demo — passive income.
// Tâm thư MONA: 10 năm build phần mềm cho 13.500 doanh nghiệp Việt. VibeVoice là sản phẩm desktop thứ 2 ship trực tiếp cho dev cuối (sau MONA ScreenBoard). 51% là cao nhất ngành VN — vì tao tin dev tool phải đi từ truyền miệng cộng đồng dev VN trước. Marketing tự upsell sau.// Note from MONA: 10 years building software for 13,500 VN businesses. VibeVoice is our 2nd desktop product (after MONA ScreenBoard). 51% is the highest in the VN market — dev tools should grow through dev word-of-mouth first. Paid marketing comes later.
Câu hỏi thường gặp.Frequently asked.
>Replacement Rules là cái gì? Khác Vocabulary chỗ nào?What are Replacement Rules? How are they different from Vocabulary?+
'vai vốt' → 'VibeVoice' case + diacritic insensitive: vai vốt / Vai Vốt / vai vot đều match. Word boundary an toàn: advaivod KHÔNG match. App ship sẵn 7 default MONA rules với ~87 aliases curated từ chính dev session làm app. Nếu rule overlap, alias dài match trước.Vocabulary = soft bias — Whisper prefers these terms when audio is ambiguous, but can still mishear with weird accents. Replacement Rules = hard force — always replace alias → canonical no matter what Whisper hears. E.g. rule 'vai vốt' → 'VibeVoice' case + diacritic insensitive: vai vốt / Vai Vốt / vai vot all match. Safe word boundary: advaivod doesn't match. App ships 7 default MONA rules with ~85 curated aliases from the dev's own sessions. Rule overlap: longest alias matches first.>License có portable không nếu tao reinstall macOS?Is the license portable if I reinstall macOS?+
>Trial Pro bao lâu? Có cần credit card không?How long is the Pro Trial? Need a credit card?+
>Hủy 1 record giữa chừng — làm sao?How to cancel a recording mid-way?+
Esc bất cứ lúc nào → cancel ngay. (2) Click X ở góc phải overlay pill đang float ở giữa màn hình. (3) Voice — nói cuối câu "hủy" / "huỷ" / "cancel" → app discard transcript, không paste. Cả 3 đều safe — không có nguy cơ accidentally paste nội dung không muốn. Auto-stop sau 5 phút (configurable 1/3/5/10/30 phút) — chống stuck mic nếu Ctrl bị kẹt hoặc app miss key-up event.3 ways: (1) Press Esc anytime → cancel immediately. (2) Click X on the right corner of the overlay pill floating mid-screen. (3) Voice — say at end "hủy" / "cancel" → app discards transcript, no paste. All 3 are safe — no risk of accidental paste. Auto-stop after 5 min (configurable 1/3/5/10/30 min) — prevents stuck mic if Ctrl gets stuck or app misses key-up event.>Tao mới tải app — onboarding như thế nào?I just downloaded the app — what's the onboarding like?+
monavibevoice://activate?key=... → click → app tự open + activate, không paste tay.4-step wizard · ~5 min: (1) Welcome — 30s feature summary. (2) API Keys — paste Groq + Gemini keys, click "Test" → green "OK · 18 models" or red "invalid key", verify upfront. (3) Permissions — grant Microphone (record audio) + Accessibility (paste + hotkey). Input Monitoring optional for F-keys. (4) Test recording — tap Ctrl 2× + hold → say "hello, testing the app" → release → app pastes into test textbox. ✓ = ready. Skippable if advanced. If you bought Pro: email link monavibevoice://activate?key=... → click → app auto-opens + activates, no manual paste.>Privacy: audio + transcript của tao có bị upload không?Privacy: is my audio + transcript uploaded anywhere?+
~/Library/Application Support/MONA VibeVoice/ để mày xem History tab. KHÔNG sync cloud, KHÔNG telemetry, KHÔNG analytics. Mày clear History anytime trong Settings. License: signed JSON local-verified offline qua Ed25519 — không call MONA server. Privacy by design — mình build app cho mình dùng nên paranoid về data.Audio: sent to Groq / Gemini APIs (your BYO key, no MONA proxy) → DELETED locally right after receiving transcript. NO cache, NO log. Transcripts: stored locally, 100 most recent entries in ~/Library/Application Support/MONA VibeVoice/ for History tab. NO cloud sync, NO telemetry, NO analytics. Clear History anytime in Settings. License: signed JSON verified locally offline via Ed25519 — no calls to MONA servers. Privacy by design — built for personal use, paranoid about data.>Có chạy trên Windows / Linux không?Does it run on Windows / Linux?+
AVCaptureDevice cho mic auto-detect và Carbon HotKey cho phím tắt — port sang Windows / Linux cần rewrite phần lớn. Windows trên roadmap nhưng chưa có ETA. Email info@themona.global để nhận update khi ship.Currently macOS 13 Ventura+ only. App is native Swift + AppKit + SwiftUI to leverage AVCaptureDevice for mic auto-detect and Carbon HotKey for shortcuts — porting to Windows / Linux needs a significant rewrite. Windows is on the roadmap with no ETA yet. Email info@themona.global to be notified.>Tao có cần API key Groq + Gemini riêng không?Do I need my own Groq + Gemini API keys?+
~$0.001/phút, Groq free tier 14400 req/ngày đủ cá nhân) và MONA (không phải eat infra cost). Hướng dẫn lấy key trong Settings → API Keys, có link generate trực tiếp.Yes. App doesn't proxy through MONA — paste your API key into Settings, requests go directly from your machine to Groq / Gemini. Cheaper for you (~$0.001/min, Groq free tier 14,400 req/day is enough for personal use) and for MONA. Step-by-step in Settings → API Keys with direct generate links.>Tao đã có Whisper Pro / SuperWhisper / MacWhisper rồi, khác gì?I already use Whisper Pro / SuperWhisper / MacWhisper — what's different?+
async, không bị Whisper phiên âm thành a sing. Plus 4 backend preset để mày tune theo use-case (vibe code / audiobook / casual chat) thay vì 1-size-fits-all.All three are great for pure English. VibeVoice's edge: hybrid Groq + Gemini fixup tuned for VN ↔ EN code-switching — speak "viết hàm async fetch user theo id" and get async right, no more Whisper turning it into a sing. Plus 4 backend presets to tune for vibe coding / audiobook / casual chat — instead of one-size-fits-all.>Mic Bluetooth / Shure SM7B của tao có chạy được không?Will my Bluetooth mic / Shure SM7B work?+
AVCaptureDevice nên bất kỳ thiết bị audio nào macOS thấy được trong System Settings → Sound, app cũng thấy. Test thật trên: MacBook built-in, AirPods Pro 2, Sony WH-1000XM5 (BT), Shure SM7B + audio interface (XLR), Blue Yeti (USB), Apple EarPods (3.5mm), Logitech H390 (USB headset). Có gain slider 0.05× → 5× để boost weak mic (như SM7B passive) hoặc dim mic loud.Yes, 99%. App uses AVCaptureDevice, so anything macOS sees in System Settings → Sound, the app sees. Tested on: MacBook built-in, AirPods Pro 2, Sony WH-1000XM5 (BT), Shure SM7B + audio interface (XLR), Blue Yeti (USB), Apple EarPods (3.5mm), Logitech H390 (USB headset). Gain slider 0.05× → 5× to boost weak mics (like passive SM7B) or tame loud ones.>Tại sao app cần quyền Accessibility + Input Monitoring?Why does the app need Accessibility + Input Monitoring permissions?+
>App đang free hay có trả tiền?Is the app free or paid right now?+
>Refund khi GA ra mắt?Refund after GA launch?+
Sản phẩm bởi MONA.Made by MONA.
MONA Software · Sài Gòn · 2016. Công ty phần mềm chuyên build hệ thống ERP, CRM, LMS, e-commerce, nội bộ custom cho doanh nghiệp Việt. Hơn một thập kỷ giải bài toán kỹ thuật ở quy mô production. VibeVoice là sản phẩm desktop thứ 2 ship trực tiếp cho dev — built bởi đội đã sống cùng pain point này 10 năm.MONA Software · Saigon · 2016. Building ERP, CRM, LMS, e-commerce, custom internal systems for VN enterprises. Over a decade solving complex engineering problems at production scale. VibeVoice is our 2nd desktop product shipped directly to devs — built by a team that has lived this pain point for 10 years.
// Số liệu từ mona.media · 5.0★ trung bình review khách hàng// Stats from mona.media · 5.0★ avg customer review


// Đây là dictation thật của 1 dev VN dùng VibeVoice ngày 5–10/05/2026: nói chuyện với Claude for desktop, request build website, viết bài blog. App lưu 100 transcript gần nhất tự động — searchable.// Real dictation log of a VN dev using VibeVoice May 5–10, 2026: talking to Claude for desktop, requesting site builds, drafting blog posts. App auto-saves the last 100 transcripts — searchable.
Tay rảnh. Não vẫn vibe.Hands free. Brain in flow.
Beta tạm thời 0đ — full Pro feature, không giới hạn time. Khi GA: 199k lifetime · beta user có loyalty discount.Beta temporarily free — full Pro features, no time limit. At GA: 199k lifetime · beta users get a loyalty discount.


