Architecture
Twinlix is built from three repositories that deploy independently:
| Repo | URL | Stack |
|---|---|---|
dm-voice-agent/ | https://github.com/grabbly/dm-voice-agent | Node 20 + Fastify + Prisma + MySQL + ElevenLabs |
twinlix-admin-front/ | https://git.axisway.com/gregfront/twinlix-admin-front | Vite + React 19 + Ant Design 5 |
twinlix-admin/ | https://github.com/grabbly/twinlix-admin | Vite + React 19 + shadcn/ui (super-admin panel) |
Reading order
- Backend overview — services, layers, file map.
- Frontend overview — folder structure, state, data flow.
- Infrastructure — servers, deploy, DNS.
- Voice agent sync — how ElevenLabs stays in lockstep with our prompts.
- Webchat release notes — gotchas from the April release that bit us; read before touching anything in the webchat pipeline.
At a glance
+------------------+
| Customer |
| (web/IG/FB/WA/ |
| phone) |
+--------+---------+
|
v
+------------------+
| Channel router |
| (channel_id → |
| agent_id) |
+--------+---------+
|
v
+------------------+
| AI agent |
| (ElevenLabs |
| ConvAI for |
| voice; OpenAI |
| for chat) |
+--------+---------+
|
v
+------------------+
| Tools |
| - kb_retrieve |
| - check_avail |
| - create_booking|
| - forward_admin |
+--------+---------+
|
v
+------------------+
| MySQL |
| (Tenant, |
| Customer, |
| Appointment) |
+------------------+