Travel Avenue CRM
live
Customer data was heading into a per-seat SaaS CRM, which meant paying per head, accepting vendor lock-in, and keeping our customer records on someone else's platform. I deployed and customised the open-source Twenty CRM on the company's own AWS infrastructure instead, so it owns its customer data outright and pays no per-seat fee. I extended it with a custom object model so sales, support, and operations work from one shared view of the customer: B2B leads with score, priority, and status, warranty cases, Shopify orders, website events, opportunities, notes, tasks, and dashboards. Shopify stays the commerce source of truth, so the sync service writes through the Twenty API rather than the database, with dry-run, idempotency, and cursor safety. It runs on Docker Compose on AWS, with internal access behind a deny-by-default WorkOS gateway providing role-based access, MFA, and audit logging, and secrets brokered through AWS Secrets Manager.