
Lousin: Control Plane for Automated Discord Bots
I replaced 10+ fragmented dashboards and command-line interfaces with a single <b>Unified Abstraction Layer</b>. This project solves the "fragmentation fatigue" that leads to high support ticket volume and operational inefficiency.
Project Gallery
15 images




Engineering challenge / Distributed state
Keep the interface and the bot in sync.
Users change settings in the dashboard. Bot instances run on separate servers. I built the connection between them so changes can reach the bot and its state can return to the interface without a page reload.
- Client interface
- Live connection
- Bot instances
Recovery / Reported outcome
Less developer intervention.
Users can hard restart their own bot instances from the control panel, giving them a recovery action they can run themselves.
Approximate reduction in support tickets associated with developer intervention.
The product / Walkthrough
The control panel in action.
Client-side navigation and state updates without a full page reload, shown in the project walkthrough.
01 / Client-side navigation
02 / Live state updates
03 / Bot controls
System architecture
From dashboard to running instance.
UI layer
Next.js 14 / SSRAPI gateway / Orchestrator
Express + PM2-
Redis
Hot data / Sessions / Queues -
Bidirectional connection to
Socket cluster
Live communicationBot instances
Worker nodes -
MySQL
Persistent user data / Logs
WebSockets for state changes.
I selected WebSockets over HTTP polling for bidirectional updates between the client and bot core. This connection lets the interface reflect the running instance without a page reload.
Interface behavior
A layout that follows usage.
I used module usage frequency to reorder the interface, bringing frequently used tools forward. Redis caches the preferences so repeated reads do not hit the primary database.
- Signal
- How often each module is used
- Response
- Reorder the DOM to prioritize those tools
- Storage
- Cache user preferences in Redis
Performance / Lighthouse
A browser performance snapshot.
Caching and Next.js image optimization were part of the performance work. These scores reflect the captured Lighthouse run.
- Performance
- 95
- Accessibility
- 100
- Best practices
- 96
- SEO
- 100
View original Lighthouse capture
Operating the system
Control beyond the interface.
-
Toggle product modules.
Billing and Shop can be enabled or disabled independently of the core monolith.
-
Manage running processes.
PM2 provides process clustering and zero-downtime reloads.
-
Define access by role.
Built-in role-based access control provides a foundation for team access as the product grows.
Tech stack
Tools & responsibilities.
- Next.jsApp Router / SSR / Images
- ExpressAPI / Orchestration
- WebSocketsBidirectional state updates
- RedisCache / Sessions / Queues
- MySQLUser data / Logs
- PM2Clustering / Reloads
Explore Lousin
See the product.
Visit Lousin to explore the live project.
View live project