J

James

Software Developer

Proposal Pengembangan Aplikasi

WhatsApp Broadcast
CRM Dashboard

Sistem manajemen kontak & pengiriman broadcast WhatsApp terjadwal, terintegrasi dengan Fonnte API.

Disiapkan untuk

Calon Klien

Disiapkan oleh

James

Tanggal

15 Mei 2026

01 · Ringkasan Eksekutif

Mengapa Aplikasi Ini Dibutuhkan

Saat ini, pengelolaan data kontak dan pengiriman pesan WhatsApp dilakukan secara manual melalui spreadsheet Excel. Cara ini memiliki beberapa keterbatasan utama:

Solusi yang kami tawarkan adalah WhatsApp Broadcast CRM Dashboard — aplikasi web internal yang mengkonsolidasikan seluruh proses tersebut ke dalam satu sistem yang mudah digunakan, dapat diakses oleh tim, dan terintegrasi langsung dengan Fonnte API untuk pengiriman WhatsApp.

Lebih cepat dalam mengirim broadcast ke ribuan kontak

100%

Tracking history broadcast & status respon kontak

24/7

Pengiriman terjadwal otomatis tanpa perlu standby

02 · Ruang Lingkup

Fitur Utama

1

Manajemen Kontak

  • Import kontak dari file Excel (.xlsx / .csv)
  • Tambah, edit, hapus kontak manual
  • Search & filter cepat
  • Sort berdasarkan kolom apapun
  • Export data ke Excel kapan saja
2

Sistem Status Ganda

  • Status Nomor: Active / Inactive
  • Status Respon: Responded / Not Responded
  • Custom Tag/Label (VIP, Lead Hot, dll.)
  • Update massal (bulk update)
  • Riwayat perubahan status
3

Broadcast WhatsApp

  • Pilih penerima via filter status & tag
  • Template pesan dengan variabel {nama}
  • Preview WhatsApp sebelum kirim
  • Integrasi Fonnte API
  • Rate limiting otomatis (anti-blokir)
4

Penjadwalan Otomatis

  • Schedule broadcast di tanggal & jam tertentu
  • View kalender & daftar jadwal
  • Edit / batalkan jadwal sebelum dikirim
  • Notifikasi saat broadcast selesai
  • Cron job berjalan di server
5

Multi-User & Role

  • Login dengan email & password
  • Role Admin (akses penuh)
  • Role Staff (terbatas)
  • Audit log: siapa kirim broadcast apa
  • Reset password & manajemen user
6

Dashboard & Analytics

  • Total kontak, response rate, % nomor aktif
  • Grafik aktivitas broadcast 30 hari
  • Daftar broadcast terbaru
  • Status koneksi Fonnte API real-time
  • Quota harian pengiriman
FITUR PROTEKSI
7

⚠️ Sistem Peringatan Anti-Blokir WhatsApp

WhatsApp memiliki batas pengiriman yang ketat — sistem ini melindungi nomor klien dari risiko diblokir saat broadcast massal.

  • Limit harian dengan indikator hijau/kuning/merah
  • Peringatan saat jumlah penerima berisiko
  • Rate limiting dengan jeda acak antar pesan
  • Deteksi kata "spammy" dalam pesan
  • Auto-pause setiap N pesan terkirim
  • Split broadcast besar jadi batch bertahap

Detail lengkap di Section 08 · Proteksi Khusus

03 · Preview Aplikasi

Tampilan Aplikasi

Berikut adalah preview tampilan aplikasi yang akan dibangun, sudah mencakup semua fitur utama yang telah dijelaskan

1

Dashboard

Ringkasan kontak, response rate, grafik aktivitas broadcast 30 hari, dan status kontak dalam satu tampilan.

Dashboard Encom CRM
2

Manajemen Kontak

Tabel kontak lengkap dengan status nomor (Active/Inactive), status respon, custom tag (VIP, Lead Hot, Follow Up), serta filter & sorting cepat.

Manajemen Kontak
3

Broadcast Composer + Anti-Blokir

Tulis pesan dengan variabel {nama}, pilih penerima via filter, lihat preview WhatsApp real-time, dan dapatkan peringatan otomatis jika broadcast berisiko melebihi limit harian aman.

Broadcast Composer dengan Anti-Blokir
4

Penjadwalan Broadcast

Daftar broadcast terjadwal & yang sudah selesai, lengkap dengan informasi penerima, waktu pengiriman, status, dan siapa yang membuatnya. Tersedia view daftar maupun kalender.

Penjadwalan Broadcast

💡 Catatan

Tampilan di atas adalah prototype fungsional. Final design dapat disesuaikan dengan branding (logo, warna, font) klien pada tahap UI/UX Design (Minggu 1).

04 · Alur Sistem

Flowchart Penggunaan Aplikasi

Dari login hingga broadcast terkirim & status di-update

START Login Email + Password Dashboard Lihat ringkasan & statistik Data kontak sudah ada? Belum Import Excel Upload .xlsx / .csv Sudah Update Status Active/Inactive · Resp/Not Filter & Pilih Penerima Status + Tag + Search Tulis Pesan Broadcast Template + variabel {nama} Kirim sekarang atau jadwalkan? Jadwalkan Set Tanggal & Jam Cron job di server Tunggu waktu eksekusi ⏰ Sekarang 🔌 Fonnte API Kirim ke WhatsApp Catat di History Status, waktu, jumlah terkirim SELESAI

05 · Teknologi

Stack Teknologi & Arsitektur

Frontend

  • FrameworkNext.js 14 / React 18
  • StylingTailwind CSS
  • UI Libraryshadcn/ui
  • ChartsRecharts

Backend

  • RuntimeNode.js (Express/Nest)
  • DatabasePostgreSQL
  • AuthJWT + bcrypt
  • Schedulernode-cron / BullMQ

Integrasi

  • WhatsApp GatewayFonnte API
  • Excel ParserSheetJS
  • EmailSMTP / Resend

Deployment

  • TipeSelf-hosted
  • OSUbuntu 22.04 LTS
  • ProcessDocker + PM2
  • Reverse ProxyNginx + SSL

Spesifikasi Server Minimum

2

vCPU

4 GB

RAM

40 GB

SSD

1 Gbps

Network

💡 Rekomendasi VPS: DigitalOcean, Biznet Gio, atau on-premise. Estimasi biaya hosting Rp 300–800rb/bulan.

06 · Timeline

Jadwal Pengerjaan — 7 Minggu

MINGGU 1

Discovery & Design

Finalisasi requirement, wireframe, UI/UX design, persetujuan mockup.

MINGGU 2

Setup Infrastruktur & Database

Database schema, auth system, struktur project, CI/CD dasar.

MINGGU 3

Modul Kontak & Import Excel

CRUD kontak, import .xlsx, filter & sort, sistem status & tag.

MINGGU 4

Integrasi Fonnte API & Broadcast

Composer broadcast, kirim massal, rate limiting, error handling.

MINGGU 5

Penjadwalan & Dashboard

Sistem schedule (cron), dashboard statistik, history broadcast.

MINGGU 6

Multi-User, Testing & Bug Fixing

Role admin/staff, audit log, end-to-end testing, optimasi.

MINGGU 7

Deploy, Training & Handover

Setup server klien, deployment, training tim, dokumentasi, serah terima.

07 · Investasi

Estimasi Biaya

Model self-hosted — sekali bayar, source code & lisensi penuh untuk klien

Modul / PekerjaanEstimasi (Rp)
UI/UX Design + Discovery5.000.000
Auth System & Multi-User (Admin/Staff)4.000.000
Modul Kontak + Import Excel + Filter/Sort7.000.000
Sistem Status Ganda + Tag/Label Custom3.500.000
Integrasi Fonnte API + Broadcast Engine8.500.000
Sistem Peringatan Anti-Blokir WhatsApp4.000.000
Penjadwalan Broadcast (Cron + Queue)5.500.000
Dashboard, Statistik & History4.500.000
Testing, Bug Fixing & Optimasi3.500.000
Deployment, Training & Dokumentasi4.500.000
TOTAL Rp 50.000.000

Total Investasi

Rp 50.000.000

sekali bayar

Termasuk semua fitur, source code, training & deployment ke server klien

✓ Sudah termasuk dalam harga:

  • • Semua fitur sesuai scope proposal
  • • Source code lengkap (full ownership)
  • • Deployment ke server klien
  • • Training tim (2 sesi) & dokumentasi
  • • Garansi bug fix selama 3 bulan

+ Maintenance bulanan (opsional):

Rp 2.500.000/bulan

  • • Bug fix & update keamanan
  • • Monitoring server & uptime
  • • Minor feature request (≤8 jam/bln)
  • • Response <1x24 jam

💰 Termin Pembayaran

40% — DP saat kontrak
Untuk memulai discovery & design
40% — Saat development 60%
Demo modul utama disetujui
20% — Saat serah terima
Setelah deploy & training

✓ Sudah termasuk

  • Source code lengkap
  • Dokumentasi teknis & user guide
  • Training tim klien (2 sesi)
  • Deployment ke server klien
  • Garansi bug fix sesuai paket

✗ Belum termasuk

  • Biaya server/VPS hosting
  • Langganan Fonnte API
  • Domain & SSL certificate
  • Maintenance bulanan (opsional)
  • Fitur baru di luar scope

08 · Proteksi Khusus

Sistem Peringatan Anti-Blokir WhatsApp

WhatsApp memiliki batas pengiriman ketat — sistem ini melindungi nomor klien dari risiko blokir

⚠️ Risiko Tanpa Proteksi

Mengirim broadcast ke ribuan nomor sekaligus, terlalu cepat, atau ke nomor inactive dapat menyebabkan nomor WhatsApp klien ditandai spam atau diblokir permanen oleh WhatsApp. Ini berarti kerugian besar — nomor bisnis yang sudah dibangun lama bisa hilang dalam hitungan jam.

🚦

Limit Harian per Device

Sistem memantau jumlah pesan terkirim per hari dan memberi peringatan saat mendekati limit aman.

Hijau (aman)< 500/hari
Kuning (waspada)500–1.000/hari
Merah (berisiko)> 1.000/hari

⏱️

Rate Limiting Otomatis

Pesan dikirim dengan jeda acak (anti-pattern bot) supaya terlihat seperti pengiriman manusia.

Jeda antar pesan5–15 detik (acak)
Max per menit~30 pesan
Auto-pauseTiap 100 pesan

🛡️

Pre-Send Validation

Sebelum kirim, sistem cek dan beri peringatan:

  • Jumlah penerima melebihi limit aman
  • Ada kata "spammy" dalam pesan (promo, gratis, klik di sini)
  • Mengirim ke nomor berstatus Inactive
  • Frekuensi broadcast terlalu sering ke nomor sama

🔄

Split Broadcast Otomatis

Broadcast besar otomatis dipecah jadi beberapa batch yang dikirim bertahap:

  • Contoh: 3.000 kontak → 3 batch @ 1.000/hari
  • Sistem auto-resume di hari berikutnya
  • Bisa pakai multi-device Fonnte (rotasi)
  • Estimasi waktu selesai ditampilkan

✅ Hasil yang Diharapkan

Dengan kombinasi 4 lapis proteksi di atas, risiko nomor diblokir dapat ditekan signifikan, sambil tetap menjaga produktivitas pengiriman broadcast harian klien.

Siap untuk memulai?

Proposal ini berlaku selama 30 hari sejak tanggal penerbitan. Kami siap menjadwalkan meeting untuk membahas detail teknis & menyesuaikan scope sesuai kebutuhan.