Skip to content

🏗️ Architecture & Technologies

Lupin is built from the ground up for stability, sub-millisecond response times, and isolated per-guild state management.


🛠️ Technology Stack

  • Runtime: Node.js v20 LTS
  • Framework: Discord.js v14
  • Database: PostgreSQL 16 with connection pooling and schema migrations
  • Music Engine: Lavalink v4 via Riffy
  • AI Security Core: Dedicated Security AI Service utilizing the custom Security-Guard-V1 model
  • Deployment & CI/CD: Docker Alpine, GitHub Actions, and Cloudflare Pages

🔒 Per-Guild Isolation & Persistence

Every server that Lupin joins operates in complete isolation:

  • Settings, warnings, leveling cards, economy balances, and ticket logs are prefixed with unique guild namespaces (guild:{guildId}:...).
  • No data leaks or collisions can occur across multiple Discord servers.
  • Database failures trigger automated fallbacks so core interactions remain responsive.

⚡ Global Command Optimization

Discord imposes a hard limit of 100 global slash commands per application. Lupin organizes features using Sub-Command Trees (e.g., /ban user|unban|mass, /giveaway create|end|reroll|delete, /level set|add|remove).

This keeps Lupin's total global footprint at 70 clean slash commands, giving you maximum functionality while preserving 30 open slots for custom expansion.