Skip to main content

ChatAsisten: Personal Linux Infrastructure & Multi-LLM WhatsApp Daemon

Always-on 24/7 Self-Hosted Edge Linux Server powering a WhatsApp assistant for isolated multi-user academic calendar tracking, reminders, and multi-LLM routing behind private Tailscale access.

ChatAsisten: Personal Linux Infrastructure & Multi-LLM WhatsApp Daemon

System Implementation & Approach

Non-root Node.js systemd daemon (chatasisten.service) running Baileys WhatsApp Web API for multimodal inputs (text, voice notes, vision images, PDF documents), a built-in tool engine (/status, /logs, /ekspor), SQLite persistence, and hybrid AI routing (Groq primary low-latency with OpenRouter and Gemini fallback) under a 192 MB IPv4-first V8 heap cap (~64.5 MB observed RSS), hardened with UFW firewall, Fail2Ban, DoH local DNS, and Tailscale mesh.

Role & Contribution

Individual engineering: authored the systemd service unit, hardened non-root execution (User=bagusa), built isolated multi-user .ics LMS calendar parsing with per-user reminders, implemented multi-LLM failover routing, and added an automated verification suite (selftest.js).

  • Non-root systemd unit (/etc/systemd/system/chatasisten.service) running under User=bagusa with --dns-result-order=ipv4first, --max-old-space-size=192, LimitNOFILE=65536, and Restart=always.
  • Strict host isolation via Tailscale VPN mesh SSH, UFW default-deny ingress filtering, and Fail2Ban intrusion protection with zero exposed public application ports.
  • Isolated per-user SQLite storage supporting custom .ics calendar uploads, CeLOE/LMS deadline queries, automated reminders, and sysadmin allowlist / CSV exports.
  • Production systemctl status verified active (running) 24/7 at 64.5 MB memory footprint and 11 tasks.
  • Automated selftest.js suite passed all 6 assertions (ALL_CHATASISTEN_TESTS_PASSED): LMS loading, calendar isolation, custom .ics /lms routing, reminders, formatter, and allowlist/CSV checks.
  • Live WhatsApp assistant verified answering same-day assignment queries and nearest academic deadlines with interactive reminder scheduling.