MASA by LabMu · Voice & Tone Guide · v1 · operational copy guide

Voice & Tone

Cara MASA bicara — di Splash, di Iuran, di Sedekah Subuh, di Error. Doc ini adalah kontrak operasional untuk designer, copywriter, marketer, dan dev yang menulis copy apa pun di produk MASA.

Diturunkan dari  Brand Strategy v1 · Sharing Session MASA
Status  Operational · siap dipakai langsung
Update cadence  Tiap kuartal (per learning baru)
Konsumen  Designer · Marketing · Mobile · Backend

§1Cheat sheet — 30 detik bacaan

MASA dalam satu paragraf
MASA bicara seperti guru bijak yang tidak menggurui — tenang, modern, jelas memihak nilai, mengajak bukan menyuruh.
Formula: Pain → Insight → Guidance → Outcome
Quick rules: 5 Do/Don't Messaging formula Impact-name vs Feature-name Bahasa terlarang

§25 Personality dimensions

Lima karakter yang harus hadir bersama-sama di setiap copy. Bukan pilih salah satu — semua lima.

Bijak
Wise
Tenang
Calm
Modern
Modern
Tegas
Clear stance
Tidak menggurui
Non-preachy

Detail tiap dimensi ada di Brand Strategy §6.

§35 Aturan Do/Don't inti

Don't

Menggurui — "Anda harus..." / "Jangan lupa..." / "Sudah sholat?"

Do

Mengajak — "Mari kembali ke arah." / "Sudah waktunya, kak."

Don't

Terlalu formal religius — "Marilah kita menunaikan ibadah sholat..."

Do

Hangat & ringan — "Subuh sebentar lagi. Sudah siap?"

Don't

Urgensi-paksa — "Segera donasi!!!" / "Jangan tunda kebaikan!"

Do

Calm motivation — "Jaga kebiasaan baik hari ini."

Don't

Bahasa internal — "M-ID Anda terhubung dengan ekosistem MASA"

Do

Bahasa user — "Akun Anda siap dipakai di semua layanan Muhammadiyah."

Don't

Startup-bro tone — "Yuk gas konsisten ibadahnya! 🔥"

Do

Bijak yang mengerti — "Konsistensi tidak harus sempurna. Cukup mulai lagi."

§4Messaging formula — Pain → Insight → Guidance → Outcome

Setiap pesan besar (hero, onboarding, campaign) mengikuti urutan empat-langkah. Dimulai dari masalah user, bukan dari fitur kita.

1
Pain
Masalah yang user rasakan
2
Insight
Pemahaman / framing
3
Guidance
Solusi yang ditawarkan
4
Outcome
Manfaat yang dirasakan

4.1 Worked examples

Don't · feature-led

"MASA punya jadwal sholat lengkap untuk seluruh kota di Indonesia."

Feature dump · tidak ada Pain · tidak ada Outcome

Do · formula-led

"Sulit menjaga konsistensi ibadah di tengah kesibukan? MASA membantu kamu tetap terarah, dengan panduan terpercaya dalam satu aplikasi."

Pain (sulit konsisten) → Insight (kesibukan) → Guidance (panduan terpercaya) → Outcome (tetap terarah)

Don't · feature-led

"Fitur QurbanMu memungkinkan pembayaran cicilan dan tracking distribusi real-time."

Mekanik · tidak ada emosi

Do · formula-led

"Mau kurban tapi cashflow belum siap? MASA membantu kamu kurban dengan pembayaran yang bisa diatur sesuai kemampuan — tetap tenang, tetap niat baik."

Pain (cashflow) → Insight (niat ada) → Guidance (pembayaran fleksibel) → Outcome (tenang)

Don't · feature-led

"Aplikasi MASA dilengkapi fitur Sedekah Subuh dengan auto-debit harian dan streak tracker."

Sounds like Strava for charity · gamification overshadow trust

Do · formula-led

"Mau sedekah harian tapi sering lupa? MASA membantu kamu konsisten — nominal kecil, jendela waktu Subuh, disalurkan ke yang tepat. Hari demi hari, hidup lebih terarah."

Pain (lupa) → Insight (nominal kecil OK) → Guidance (otomatisasi tepat sasaran) → Outcome (hidup terarah)

§5UX Copy Naming Convention

Setiap fitur punya dua nama: impact-name (untuk hero, hook, marketing) dan feature-name (untuk button, nav, label fungsional). Tidak satu menggantikan yang lain — keduanya dipakai sesuai konteks.

Aturan emas: User datang dengan niat — pakai impact-name. Ketika user sudah di dalam dan mencari fungsi — pakai feature-name. Don't surprise the user di tengah jalan.
KonteksGunakanContoh
Hero / Splash / Marketing / OnboardingImpact-name"Panduan hidup harian" (bukan "Al-Qur'an")
Beranda hero zone (NOW · HABIT)Impact-name"Waktu kembali terarah" (di card jadwal sholat hero)
Bottom nav · Quick action grid · Button labelFeature-name"Al-Qur'an" · "Sholat" · "Iuran"
Push notif (action-oriented)Feature-name"Subuh 04:42 di Yogyakarta" (clear, no metaphor)
Empty state / DiscoverabilityImpact-name"Mulai bangun panduan hidup harian Anda."
Error message / System messageFeature-name"Bayar Iuran KTAM gagal. Coba lagi."

5.1 Glossary — daftar rename per fitur

❌ JANGAN dipakai sendirian✓ Impact-name (hero)PilarFeature-name (fungsional)
"Jadwal Sholat""Waktu untuk kembali terarah"GUIDED"Jadwal Sholat" (tetap, di nav)
"Al-Qur'an" / "Quran Digital""Panduan hidup harian"GUIDED"Al-Qur'an" (di nav, button)
"Doa & Dzikir" / "Kumpulan Doa""Penguat kehidupan"GUIDED"Doa" (di nav)
"Arah Kiblat" / "Kompas Kiblat""Penunjuk arah ibadah"GUIDED"Kiblat" (di nav)
"KTAM" sendiri"Kartu kader Muhammadiyah"TRUSTED"e-KTAM" (di tab)
"Iuran KTAM" / "Iuran bulanan""Partisipasi sebagai kader"TRUSTED"Bayar Iuran" (di button)
"LazisMu" / "Donasi""Sedekah yang sampai"TRUSTED · CONNECTED"Sedekah" (di nav)
"Sedekah Subuh""Kebiasaan baik di awal hari"CONSISTENT"Sedekah Subuh" (di feature)
"Zakat Kalkulator""Tunaikan zakat dengan benar"GUIDED · TRUSTED"Zakat" (di nav)
"QurbanMu""Kurban yang sampai ke yang tepat"TRUSTED · CONNECTED"Qurban" (di nav)
"Streak ibadah""Konsistensi-mu"CONSISTENT"Streak: 7 hari" (di counter)
"M-ID""Identitas Muhammadiyah"TRUSTED"Login dengan M-ID" (di button)
"EventMu" / "Event""Komunitas yang menggerakkan"CONNECTED"Event" (di nav)
"BukuMu""Bacaan yang menguatkan"GUIDED"Buku" (di nav)
"ChatHPT""Tanya berdasar Putusan Tarjih"TRUSTED · GUIDED"ChatHPT" (di nav)
Catatan implementasi: Di Laravel i18n, simpan dua key per fitur:
· quran.impact = "Panduan hidup harian" (untuk hero)
· quran.feature = "Al-Qur'an" (untuk nav)

Designer pilih key yang sesuai konteks layar — bukan terjebak satu nama untuk semua.

§6Tone per moment — 8 surface kunci

Tiap surface MASA punya nuansa tone yang sedikit berbeda. Tidak melanggar personality, tapi disesuaikan dengan moment.

Splash · App open pertama
Tone: Bijak, hangat, aspirasional
Goal

Membuka percakapan · membangun trust dalam 2 detik

Do

"Sudah 100 tahun Muhammadiyah membimbing umat. Sekarang, dalam satu aplikasi."

Don't

"Selamat datang di MASA SuperApp! Jelajahi fitur-fitur kami."

Onboarding · 3-segment pick
Tone: Hangat, mengajak, tidak interogatif
Goal

User merasa dilibatkan, bukan ditanyai

Do

"MASA ingin menyesuaikan pengalaman-mu. Mana yang paling kamu rasakan?"

Don't

"Pilih kategori Anda untuk melanjutkan."

Push notif · pengingat Subuh
Tone: Tenang, faktual, tidak guilt-trip
Goal

Memberitahu, bukan menyuruh

Do

"Subuh sebentar lagi · 04:42 di Yogyakarta."

Don't

"⏰ Jangan lupa sholat Subuh! Sudah waktunya."

Habit reminder · Sedekah Subuh
Tone: Lembut, privat, anti-riya'
Goal

Mengingatkan tanpa menyombongkan amal

Do

"Subuh hari ini sudah datang. Anda bisa lanjutkan kebiasaan baik kapan-pun siap."

Don't

"🔥 Streak 7 hari! Jangan sampai putus, sedekah sekarang!"

Iuran reminder
Tone: Tegas tapi hangat · trust framing
Goal

Reminder yang menunjukkan value, bukan tagihan

Do

"Partisipasi-mu sebagai kader bulan Mei: Rp 25.000 · dipakai untuk dakwah, kaderisasi, dan amal usaha."

Don't

"Iuran KTAM Anda jatuh tempo! Bayar sekarang sebelum nunggak."

Donation prompt
Tone: Bijak, transparan, no urgency-pressure
Goal

Mengajak sedekah dengan kejelasan, bukan rasa bersalah

Do

"Sedekah-mu akan disalurkan oleh LazisMu — ke santri pondok pesantren binaan Muhammadiyah."

Don't

"Bantu sesama sekarang! Setiap rupiah berarti!!! 🙏"

Empty state · Bookmark kosong
Tone: Mengundang, tidak meminta maaf
Goal

Memberi arah selanjutnya, bukan menyalahkan

Do

"Belum ada ayat yang ditandai. Saat membaca, ketuk ikon bookmark untuk menyimpan."

Don't

"Oops! Tidak ada data. Silakan tambahkan bookmark."

Success · Pembayaran berhasil
Tone: Tenang, faktual, dengan kuitansi
Goal

Konfirmasi yang membangun trust, bukan celebration berlebihan

Do

"Pembayaran Iuran Mei selesai. Kuitansi tersedia di Profil > Riwayat."

Don't

"🎉 Selamat! Iuran Anda berhasil dibayar! Anda hebat!"

§7Voice untuk Sedekah Subuh — anti-riya'

Sedekah Subuh punya bahaya bahasa lebih besar dari fitur lain: mekanika streak + amal harian bisa terbaca sebagai riya' (pamer amal). Voice harus privat default, tenang, dan menempatkan amal sebagai antara user dan Allah — bukan trophy.

Mantra Sedekah Subuh:
"Sedekah-mu antara kamu dan Allah. App ini hanya membantumu konsisten."

7.1 Streak counter

Don't

"🔥 Streak 7 hari! Jangan sampai putus!"

Gamified · panic-inducing · riya'

Do

"Konsistensi-mu hari ke-7. Privat — hanya kamu yang melihat."

Calm · privat default · acknowledge anti-riya'

7.2 Lupa hari sebelumnya

Don't

"Streak Anda terputus 😢"

Shaming · membuat user merasa gagal

Do

"Subuh besok adalah pintu baru. Kapan pun siap."

Forgiveness · anti-shaming · Islamic-aligned

7.3 Nominal picker

Don't

"Pilih nominal donasi Anda hari ini:"

Transactional · seperti e-commerce

Do

"Berapa yang ingin kamu sedekahkan hari ini? Tidak ada nominal yang terlalu kecil."

Permission · welcome small amounts

7.4 Impact card setelah sedekah

Don't

"Selamat! Kamu sudah sedekah Rp 5.000 hari ini! 🎉"

Celebration excessive · riya' implicit

Do

"Tersimpan. Disalurkan oleh LazisMu ke santri pondok pesantren binaan Muhammadiyah."

Faktual · trust framing · impact tanpa pamer

§8Voice untuk Qurban — fleksibilitas niat baik

Qurban Campaign menjual "kurban tanpa ribet": ketenangan hati, kemudahan pembayaran, kejelasan distribusi, rasa kontribusi nyata. Bukan menjual sapi/kambing.

Mantra Qurban:
"Satu kurban kamu, sampai ke mereka yang benar-benar membutuhkan."

8.1 Pembayaran fleksibel — kata kunci yang harus dihindari

BAHASA TERLARANG untuk pembayaran qurban bertahap
Don't

"Kurban sekarang, bayar nanti dengan Paylater MASA!"

Terlarang · membuat ibadah jadi transaksi finansial

Do

"Opsi pembayaran fleksibel untuk memudahkan ibadah kurban Anda."

Fleksibilitas sebagai enabler · niat baik tetap inti

Don't

"Tanpa uang, tetap bisa kurban!"

Do

"Atur pembayaran sesuai kemampuan, tanpa mengurangi niat baik Anda."

8.2 Disclaimer wajib (untuk compliance + tone)

"Kami memahami bahwa setiap orang memiliki kondisi finansial yang berbeda. MASA menyediakan opsi pembayaran fleksibel agar ibadah kurban tetap dapat dilakukan dengan tenang, bertanggung jawab, dan sesuai syariat."

8.3 Distribution & tracking

Don't

"Pesanan Anda telah diproses. Status: shipped."

E-commerce voice

Do

"Kurban kamu sudah disembelih di Pondok Pesantren Karangkajen, Yogyakarta. Foto distribusi akan dikirim setelah Idul Adha."

Trust framing · konkret lokasi · transparansi

§9Voice untuk Iuran KTAM — partisipasi, bukan tagihan

Review user di Play Store: "Kalau bisa gak ada iuran bulanan." Friksi ini bukan karena angka — karena value tidak dirasakan. Voice Iuran harus menunjukkan untuk apa dana dipakai, bukan menagih.

9.1 Reminder Iuran

Don't

"Iuran KTAM Anda jatuh tempo dalam 3 hari. Bayar sekarang!"

Do

"Partisipasi-mu sebagai kader bulan Mei: Rp 25.000.
Dipakai untuk: dakwah, kaderisasi, dan amal usaha Muhammadiyah."

9.2 Iuran sudah lunas (status state)

Don't

"Iuran bulan ini sudah dibayar. Terima kasih!"

Do

"Iuran Mei selesai. KTAM-mu aktif sampai Juni. Lihat kuitansi →"

9.3 Bug VA payment (recovery copy)

Don't

"Error: Cannot generate virtual account."

Technical · tidak ada arah

Do

"Nomor rekening Iuran belum bisa dibuat sekarang. Coba lagi sebentar, atau bayar dengan QRIS."

Jujur · alternatif tersedia · tidak menyalahkan user

§10Voice untuk Error & System message

Error adalah moment paling rentan untuk kehilangan trust. Empat aturan:

  1. Jujur tentang apa yang salah — tanpa technical jargon
  2. Tidak menyalahkan user — error system, bukan kesalahan user
  3. Beri arah selanjutnya — apa yang bisa dilakukan
  4. Tetap kalem — tidak panik, tidak emoji sedih
Don't · technical

"Error 500: Internal Server Error"

Do · human

"Sambungan ke server terganggu sebentar. Coba lagi, atau cek koneksi Anda."

Don't · blaming

"Anda memasukkan format email yang salah."

Do · neutral

"Format email belum lengkap. Contoh: nama@email.com"

Don't · sad emoji

"😢 Maaf, terjadi kesalahan."

Do · calm

"Tidak bisa dimuat sekarang. Coba lagi sebentar."

§11Push notifikasi — copy pattern

Notif adalah moment yang paling mengganggu user. Hak guna kita lebih ketat: 1 notif harus benar-benar memberi value. Tone: kalem, faktual, tidak guilt-trip.

11.1 Adzan Subuh

M
MASA
Subuh sebentar lagi
04:42 di Yogyakarta. Semoga hari ini terarah.
04:30

11.2 Sedekah Subuh reminder (post-Subuh)

M
MASA
Subuh sudah datang
Anda bisa lanjutkan kebiasaan baik kapan-pun siap.
05:00

11.3 Iuran reminder (H-3 jatuh tempo)

M
MASA
Partisipasi Mei
3 hari lagi. Rp 25.000 — untuk dakwah, kaderisasi, AUM.
10:00

11.4 Event di ranting saya

M
MASA
Pengajian di ranting-mu, Caturtunggal
Sabtu, 25 Mei · 16:00. Pengurus: Ust. Iqbal Maulana.
14:00
Pattern wajib: Title pendek (≤35 char) · Body memberi kapan, di mana, atau apa — bukan emoji + exclamation. Frequency cap: max 2 push/hari per user.

§12Microcopy library

Daftar microcopy yang dipakai berulang. Designer + dev bisa paste langsung.

12.1 Button labels

KonteksCopy yang dipakaiAvoid
Primary CTA · payment"Bayar Iuran Rp 25.000""Bayar Sekarang!" / "Lunasi Iuran"
Primary CTA · donasi"Sedekah Rp 5.000""Donasi Sekarang" / "Salurkan Sekarang"
Continue button"Lanjut""Berikutnya >>" / "Continue"
Confirm button"Ya, lanjutkan""OK" / "Setuju!"
Cancel button"Tutup""Batal" (terlalu menyerah)
Retry button"Coba lagi""Refresh" / "Ulang"
Skip button"Lewati untuk saat ini""Skip" / "Lewati"
Save (positional)"Simpan posisi baca""Save" / "Bookmark"

12.2 Empty state titles

KonteksTitleSub
Bookmark Qur'an kosong"Belum ada ayat yang ditandai""Saat membaca, ketuk ikon bookmark untuk menyimpan."
Riwayat donasi kosong"Mulai dari yang kecil""Sedekah pertama-mu bisa diatur kapan-pun siap."
Tidak ada event di ranting"Belum ada event di ranting-mu""Kabari saya kalau ada — ranting Anda: Caturtunggal."
Notifikasi kosong"Tenang dulu""Tidak ada pesan baru sekarang. Kembali nanti."
KHGT belum dipakai"Mulai mencatat amalan""KHGT membantu kamu mencatat amalan harian dengan tenang."

12.3 Success messages

Aksi selesaiSuccess message
Pembayaran Iuran"Iuran Mei selesai. KTAM-mu aktif sampai Juni."
Sedekah Subuh"Tersimpan. Disalurkan oleh LazisMu."
Bookmark ditambah"Ayat disimpan. Lihat di Bookmark."
Profil di-update"Profil tersimpan."
Daftar event"Kamu terdaftar. Tiket di Profil > Event."

12.4 Permission primer (sebelum dialog OS)

PermissionPrimer copy MASA (sebelum OS)
Notifikasi"Aktifkan notifikasi agar kami bisa mengingatkan waktu sholat dan kebiasaan baik harian-mu. Suara dan tampilan bisa kamu atur kapan saja."
Lokasi (untuk kiblat)"Lokasi diperlukan untuk menghitung arah kiblat secara presisi. Hanya dipakai saat kompas terbuka."
Lokasi (jadwal sholat)"Lokasi diperlukan agar jadwal sholat sesuai dengan kotamu."
Kamera (KTAM upload foto)"Kamera diperlukan untuk verifikasi foto KTAM. Foto hanya disimpan di akun-mu."

§13Bahasa terlarang — daftar yang dilarang

JANGAN DIPAKAI di copy MASA — tanpa pengecualian

§14i18n rules — Laravel + Flutter key convention

Copy disimpan di Laravel i18n (JSON). Designer hanya menulis copy Indonesia · translator handle Arabic/English jika dibutuhkan kemudian.

14.1 Key naming convention

PatternContoh
{feature}.{moment}.{type}sedekah_subuh.reminder.title
{feature}.impact (hero name)quran.impact → "Panduan hidup harian"
{feature}.feature (nav name)quran.feature → "Al-Qur'an"
cta.{action} (universal button)cta.retry → "Coba lagi"
empty.{context}.titleempty.bookmark.title → "Belum ada ayat yang ditandai"
error.{code}.user_messageerror.500.user_message → "Sambungan ke server terganggu sebentar."

14.2 Backend contract — error response

{
  "code": "PAYMENT_VA_GENERATION_FAILED",
  "user_message": "Nomor rekening belum bisa dibuat sekarang. Coba lagi sebentar.",
  "dev_message": "Danamon VA API timeout after 3s retry",
  "retryable": true,
  "fallback": "QRIS"
}

User-facing message SUDAH sesuai voice MASA. Backend menulis pesan sesuai guide ini — bukan generic error code.

14.3 Copy deck untuk handoff

Di Fase 5 (Handoff Package), saya akan deliver copy-deck.json dengan ~200 key terstruktur. Tim Laravel paste ke resources/lang/id.json langsung. Sample shape:

{
  "sedekah_subuh": {
    "impact": "Kebiasaan baik di awal hari",
    "feature": "Sedekah Subuh",
    "reminder": {
      "title": "Subuh sudah datang",
      "body": "Anda bisa lanjutkan kebiasaan baik kapan-pun siap."
    },
    "streak_label": "Konsistensi-mu hari ke-{{n}}. Privat — hanya kamu yang melihat.",
    "forgive_message": "Subuh besok adalah pintu baru. Kapan pun siap."
  }
}

Akhir dokumen · Voice & Tone Guide v1 · MASA by LabMu

Brand Strategy · Working Plan · Index
Next: Working Plan patch · Tokens v1.1