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.

    Draft balasan · dicek ke gaya lo
    Draft AI

    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.

    Versi lo, sesudah dibenerin

    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).

    GratisVersi 1.0.0Apa yang baru

    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.

    1. 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.

    2. Baca file gaya lo

      Isinya panjang pesan lo, kebiasaan lo, kata penutup favorit lo, dan contoh pesan asli. Satu bagian lo isi sendiri.

    3. 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."
    Dipakai buatBalasan Slack ke rekan kerjaChat WhatsApp kerjaanUpdate singkat ke atasanDraft yang disiapin asisten AI tiap hariPertama kali nyuruh AI nulis atas nama loNgecek file "gaya nulis gw" yang udah adaNgukur ulang gaya lo tiap beberapa bulan
    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 FaridhiBrian Arfi FaridhiProduct Director di Merit · AI Builder · Pembuat alat ini

    Lihat jalannya

    Terminal: voiceprint check menahan draft AI dengan enam alasan, dari panjang 298 karakter sampai kata basa-basi asisten

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

    Berkas voice.md: model satu baris dan tabel panjang pesan, median 34 karakter dan persentil 75 di 41 karakter

    Ukuran gaya lo, dihitung dari pesan yang lo ketik sendiri.

    Keluaran asli voiceprint, dijalankan ke 420 pesan contoh dari orang fiktif bernama Sari.

    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.

    Bagikan

    Kenal orang yang butuh ini? Kirim ke dia.

    Teks yang ikut kekirim

    Pesan dari AI yang tetap kedengeran kayak lo. voiceprint ngecek tiap draft sebelum kekirim. Gratis.

    brianarfi.com/skills/voiceprint

    Buat yang teknisCara pasang, kebutuhan, lisensi, dan changelog lengkap.

    Cara pasang

    Dari nol sampai jalan.

    Langkahnya diambil dari README repo-nya. Tinggal salin.

    1. Ambil repo-nya

      Gak ada yang perlu dipasang. Cukup Python 3.8 ke atas.

      bash
      git clone https://github.com/BrianArfi/voiceprint && cd voiceprint
    2. Kumpulin, 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.

      bash
      python3 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"
    3. Cek draft sebelum dikirim

      Sambungin ke hook sebelum kirim, supaya draft diukur di jalan keluar, bukan sesudahnya.

      bash
      python3 scripts/voiceprint.py check   --profile profile.json --file draft.md
    4. Opsional: pakai sebagai skill agent

      SKILL.md berisi instruksi lengkapnya dalam format yang dibaca Claude Code dan harness sejenis.

      bash
      cp -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: writes voice.md and voice_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.md for agent harnesses, regression tests in tests/test_voiceprint.py, MIT license.