voiceprint · gaya nulis lo, diukur
Pesan dari AI yang tetap kedengeran kayak lo.
Nyuruh AI "nulis kayak gw" gak mempan, karena dia gak tau cara lo nulis. voiceprint ngukur gaya lo dari pesan yang udah lo kirim, lalu nandain bagian draft yang gak kayak lo sebelum kekirim.
Hi tim, I hope this finds you well1. Deck-nya udah gw update sesuai masukan kemarin, perubahannya ada di slide 4 dan 6, plus ringkasan di slide terakhir2. Best regards3,
1Basa-basi khas AI.
2Kepanjangan. Lebih panjang dari 3 dari 4 pesan lo.
3Salam penutup. Pesan lo gak pernah pakai.
deck udah gw update sesuai masukan ya, cek slide 4
Yang gak kayak lo ketahuan sebelum kekirim.
Gratis di GitHub: github.com/BrianArfi/voiceprint (publik, lisensi Apache-2.0).
Kabar baiknya
Sekarang AI yang nulis draft pesan kerja lo.
Balasan Slack, chat WhatsApp kerjaan, update ke atasan. Claude atau ChatGPT nulisnya dalam hitungan detik. Lo tinggal kirim.
Masalahnya
Tapi tulisan AI punya "bau" yang gampang ketahuan.
Pagi
Draft AI dibuka "I hope this finds you well." Lo gak pernah nulis gitu ke rekan sendiri.
Balas singkat
Jawaban satu kalimat jadi tiga paragraf, lengkap sama bullet dan huruf tebal.
Besoknya
Rekan kerja bales, "Ini ChatGPT ya?"
Tiap draft
Lo udah bilang "nulis kayak gw". Hasilnya tetap kaku, dan ngeditnya lebih lama dari nulis sendiri.
Solusinya
voiceprint ngukur cara lo beneran nulis, lalu ngecek tiap draft.
Dia baca pesan yang udah lo kirim di Slack atau WhatsApp dan ngukur polanya: seberapa pendek lo nulis, dan format yang hampir gak pernah lo pakai, kayak bullet atau huruf tebal. Tiap draft AI dicocokin ke situ. Bagian yang gak kayak lo ditunjuk persis, lengkap sama alasannya.
Bedanya
Sebelum dan sesudah.
Sebelum
- Draft panjang, padahal lo biasa nulis pendek.
- Bullet, huruf tebal, dan judul di chat biasa.
- "Kindly" dan "Best regards" lolos ke rekan kerja.
- "Nulis kayak gw" ke AI, hasilnya tetap kaku.
Sesudah
- Draft yang lebih panjang dari biasanya ketahuan sebelum kekirim.
- Kebiasaan yang bukan lo ditandain satu per satu.
- Basa-basi khas AI bahasa Inggris dicegat duluan.
- AI lo pegang ukuran gaya lo, plus contoh pesan asli lo.
Cara kerjanya
Tiga langkah, udah.
Kumpulin pesan yang udah lo kirim
Dari Slack, ekspor chat WhatsApp, atau teks biasa. Kalau draft AI lo dulu disimpan di folder, tunjukin foldernya, dan pesan itu dibuang dulu.
Baca file gaya lo
Isinya panjang pesan lo, kebiasaan lo, kata penutup favorit lo, dan contoh pesan asli. Satu bagian lo isi sendiri.
Cek draft sebelum kirim
Tiap draft AI dicocokin ke gaya lo. Yang gak kayak lo ditandain, lalu lo yang benerin.
Yang bisa dia lakuin
Dia gak nulis ulang draft lo.
Dia nunjuk bagian yang gak kayak lo dan bilang kenapa, jadi lo tau persis apa yang harus dibenerin.
- 01
Gaya lo diukur, bukan ditebak
Dipelajari dari pesan yang beneran lo kirim, bukan dari deskripsi yang lo tulis dari ingatan.
Lo bilang ke AI"Pelajari gaya nulis gw dari ekspor chat WhatsApp kerjaan ini." - 02
Draft AI lama gak ikut dihitung
Kalau AI udah bantu nulis pesan lo berbulan-bulan, pesan yang draftnya masih ada di folder lo dibuang dulu, jadi yang diukur beneran tulisan lo.
Gaya lo kecampur enam bulan draft AI.Draft AI dibuang, baru dihitung. - 03
Draft kepanjangan ketahuan
Draft yang lebih panjang dari tiga per empat pesan yang pernah lo kirim langsung ditandain.
Balasan tiga paragraf.Ditandain kepanjangan, lebih panjang dari 3 dari 4 pesan yang pernah lo kirim. - 04
Kebiasaan yang bukan lo, dan yang lo tinggalin
Tabel, judul, huruf tebal, bullet, tanda pisah panjang, atau emoji yang hampir gak pernah lo pakai ditandain. Kalau ciri khas lo hilang, kayak tanda tanya atau huruf kecil, dia kasih catatan.
Jawaban chat pakai bullet dan huruf tebal.Ditandain, bullet cuma muncul di 0% pesan lo. - 05
Basa-basi khas AI dicegat
Kalimat yang gak pernah keluar dari orang beneran, kayak "kindly" atau "circling back", plus salam penutup, ditandain sebelum kekirim.
"I wanted to reach out... Best regards."Ditandain basa-basi AI dan salam penutup. - 06
AI lo dapet contekan gaya lo
Hasilnya satu file gaya lo dan satu instruksi siap tempel ke Claude: panjang pesan lo, kata penutup yang sering lo pakai, pembuka lo, dan contoh pesan asli.
Lo bilang ke AI"Pakai file gaya gw ini tiap nulis draft Slack."
Draft AI buat Slack gw selalu kepanjangan dan kaku. Makanya gw ukur gaya gw dari pesan Slack yang gw ketik sendiri, dan draft AI dicek ke ukuran itu sebelum kekirim.
Brian Arfi FaridhiProduct Director di Merit · AI Builder · Pembuat alat iniLihat jalannya

Draft AI yang kepanjangan dan kaku ditahan sebelum kekirim, dengan alasan yang jelas.

Ukuran gaya lo, dihitung dari pesan yang lo ketik sendiri.
Keraguan yang wajar
Yang biasanya ditanyain dulu.
- Dia nulis ulang draft gw?
- Gak. Dia nandain bagian yang gak kayak lo dan bilang kenapa. Yang benerin lo, atau AI lo pakai catatan itu. Dia juga gak mutusin isi pesannya dan gak bikin typo palsu.
- Pesan gw dikirim ke mana?
- Gak ke mana-mana. Pesan lo tetap di komputer lo dan gak pernah dikirim ke AI. File gaya lo ngutip beberapa pesan asli, jadi baca dulu sebelum dibagiin.
- Butuh berapa banyak pesan?
- Minimal sekitar 200. Di bawah itu angkanya masih kasar, dan dia bilang. Sekitar 1.000 pesan, hasilnya udah tajam. Kalau pesan terbaru lo tiba-tiba beda gaya, dia juga ngasih peringatan, karena mungkin masih ada draft AI yang lolos.
- Jalan buat pesan bahasa Indonesia?
- Iya. Panjang pesan, kebiasaan, dan kata penutup kayak "ya" dihitung dari pesan lo sendiri, apa pun bahasanya. Daftar basa-basi AI bawaannya masih bahasa Inggris.
- Perlu bisa coding? Beneran gratis?
- Sedikit. Ada beberapa perintah yang dijalanin di terminal, langkahnya di bagian teknis, atau minta AI lo yang jalanin. Gratis, lisensi Apache-2.0, gak ada yang perlu dibeli.
voiceprint
Kirim pesan yang kedengeran kayak lo, walau AI yang nulis draftnya.
Gratis, dan pesan lo gak pernah ninggalin komputer lo.
Buat yang teknisCara pasang, kebutuhan, lisensi, dan changelog lengkap.
Cara pasang
Dari nol sampai jalan.
Langkahnya diambil dari README repo-nya. Tinggal salin.
Ambil repo-nya
Gak ada yang perlu dipasang. Cukup Python 3.8 ke atas.
bashgit clone https://github.com/BrianArfi/voiceprint && cd voiceprintKumpulin, ukur, tulis model gayanya
Sumbernya bisa Slack live, ekspor workspace Slack, ekspor chat WhatsApp, JSONL, atau teks biasa. Arahin --exclude-scan ke tempat draft AI lo disimpan.
bashpython3 scripts/voiceprint.py ingest --source slack --exclude-scan ./drafts --out corpus.jsonpython3 scripts/voiceprint.py analyze corpus.json --out profile.jsonpython3 scripts/voiceprint.py render profile.json --out-dir ./voice --name "your name"Cek draft sebelum dikirim
Sambungin ke hook sebelum kirim, supaya draft diukur di jalan keluar, bukan sesudahnya.
bashpython3 scripts/voiceprint.py check --profile profile.json --file draft.mdOpsional: pakai sebagai skill agent
SKILL.md berisi instruksi lengkapnya dalam format yang dibaca Claude Code dan harness sejenis.
bashcp -r voiceprint ~/.claude/skills/
Kebutuhan
- Python 3.8 ke atas, library standar aja. Gak ada dependensi, gak ada langkah pasang.
- Pesan terkirim lo: Slack live, ekspor workspace Slack, ekspor chat WhatsApp, JSONL, atau teks biasa.
- Opsional: Claude Code atau agent lain yang bisa pakai skill.
Lisensi
Apache-2.0
Versi, lisensi, dan changelog dicek ulang ke sumbernya 2026-10-01
Changelog
Apa yang berubah, versi demi versi.
Disalin dari CHANGELOG produknya, dicek 2026-09-30. Versi yang belum terbit gak ditampilkan.
Versi 1.0.0Terbaru21 Sep 2026
Added
ingest: pulls your own sent messages from live Slack, a Slack workspace export, a WhatsApp chat export, JSONL or plain text into a corpus.--exclude-scan: drops messages an AI drafted for you before anything is counted.analyze: measures length distribution, structural habits, sentence-ending words by lift, openers and repeated phrases, and warns when the recent half of the corpus looks different.render: writesvoice.mdandvoice_prompt.txt.check: holds a draft against the profile and exits 1 on a draft that is too long, a habit you do not have, or assistant filler.- Standard library only.
SKILL.mdfor agent harnesses, regression tests intests/test_voiceprint.py, MIT license.
AI Skills lain
Masalah lain yang bisa diberesin.
- AI yang inget kerjaan lo, dari kemarin sampai hari ini.AI Second BrainKhusus memberLihat detail
- AI bikin penjelasan visual jadi gampang. Sekarang feedback-nya juga.AI Prototype KitGratisLihat detail
- Feedback langsung nempel di bagian yang dimaksud. Gak ada lagi screenshot dicoret-coret.artifact-commentsGratisLihat detail
- Biar AI update Google Doc lo, tanpa ngehapus kerjaan orang lain.gdoc-surgicalGratisLihat detail
- Laporan mingguan, notulen, dan prioritas pagi, dikerjain AI. Lo tinggal review.ai-second-brainGratisLihat detail
- Jelasin apa aja dalam satu halaman yang beneran dibaca orang./artifactGratisLihat detail
- Ide lo jadi prototype yang bisa diklik, dalam hitungan menit./mockupGratisLihat detail
- AI lo akhirnya bisa baca WhatsApp kerjaan lo.wa-for-pmSegeraLihat detail