GoML relied on Zoho CRM and Zoho Projects to manage their sales and project delivery operations. However, neither tool fully integrated with each other, to AWS ACE, or suit GoML's internal workflows, leading to friction and manual efforts at every stage. The teams also never used many of Zoho's features that they were paying for. As GoML started growing to more than 200 users, the cost of renting Zoho ballooned while managing sales, handoffs, and delivery did not become more effective. So, GoML decided to replace Zoho CRM and Zoho Projects with our own sovereign software operating system, Lattice. Today, Lattice serves around 200 users and costs $200–250 per month to run on AWS.
Lattice manages GoML’s daily operations, including sales, deal tracking, project delivery, defect tracking, SLA observation, and internal coordination. It is built around a shared API gateway and dedicated services, connecting every GoML function through one system.
Lattice was built on GoML’s AI Matic platform by two FDEs over a one-month period. It was built using composable AI Matic modules for accelerated delivery. Lattice includes an AI Copilot built with LangGraph and the Model Context Protocol (MCP) to surface insight from organisational data.
The challenge of disconnected business operations
Managing sales and project delivery required GoML to bring several business functions into one platform. Sales teams handled accounts, opportunities, workspaces and quotas, while delivery teams managed projects, tasks, timesheets, defects and service-level agreements (SLAs). These functions need to work together within a single system. Since permissions varied by organization, project and workspace, we needed flexible access controls to ensure users could access only the information relevant to their roles.
The platform also needed a clear way for services to communicate without accessing each other's databases directly. File access, notifications, SLA tracking and the transfer of work from sales to delivery each had specific requirements. As Lattice developed, its documentation no longer matched the system in use. Features such as Sales, Handoff and AI Copilot had been added, while some capabilities described in the original plans were never built.
Why Zoho CRM and Zoho Projects were not enough
Zoho CRM and Zoho Projects offered useful features, but they did not fully support how we managed work from a deal to delivery. As the company grew, several gaps became harder to manage.
- Sales and delivery data stayed separate: Sales used Zoho CRM, while delivery relied on Zoho Projects. Keeping accounts, opportunities, projects, timesheets and financial data in sync required spreadsheets and manual updates, which often led to mismatched records.
- Sales-to-delivery handoffs lacked structure: When a deal closed, teams had to pass the details manually. Without a defined process to track the handoff, project scope and client commitments could get lost between teams.
- Custom workflows require extra work: GoML needed features such as SLA breach alerts, escalation processes, project-linked defect tracking and AWS Partner Central integration for co-selling. When the existing tools did not cover these needs, teams relied on spreadsheets and manual processes.
- Access permissions were limited: GoML needed to control access at the organization, project and workspace levels, including temporary permissions that expire automatically. The available role settings did not fully match these requirements.
- Changes took time and money: Custom workflow changes through vendors or systems integrators could take 6–12 weeks and cost $15,000–$40,000 per request. This made it harder for us to adapt its internal processes as its sales and delivery needs changed.
- Costs increased while control remained limited: Per-user subscriptions added to software costs as the team grew, including features many employees rarely used. Using AI features within a third-party platform also meant relying on the vendor's systems and product decisions when working with sales data and business information.
What makes Lattice’s architecture different
Lattice is built with separate services for different business functions. Each service handles its own data, while the API gateway directs requests and manages tasks such as token validation, rate limiting, and security headers.
1. Ten services for different business functions
Lattice has 10 services that support identity, organization management, sales and delivery which involves AI as well.
Three core services manage user access and delivery work:
- Identity handles: Login and platform permissions
- Organization handles: Team management and member access.
- Work Management handles: Projects, tasks, boards, iterations and timesheets.
- Other services handle defect tracking, SLA monitoring, notifications, activity feeds, audit logs, and file storage.
- The Sales service handles: Accounts, opportunities, workspaces, quotas and AWS Partner Central sync.
- The Handoff service handles: Transfer of work from sales to delivery. AI Copilot uses LangGraph and MCP to access sales data and create deal summaries.
2. AWS infrastructure with separate databases
Lattice runs on Amazon ECS Fargate and uses Amazon RDS PostgreSQL 16 for its databases. It has 10 logical databases, one for each service.
- Amazon S3 stores files
- Redis supports caching and notifications
- Kafka handles communication between services.
- Kong acts as the API gateway, and AWS Amplify hosts the React frontend
- GitHub Actions manages the build and deployment process
- Amazon ECR stores container images before they are deployed to ECS
Each service manages its own data and can be built and deployed separately. Services share information through APIs and messages instead of accessing each other’s databases directly.
3. Access controls for organizations, projects and workspaces
Lattice controls access at four levels: platform, organization, project, and workspace. Users can also receive specific permissions at the organization and workspace level. These permissions can be removed or set to expire.
The platform checks what each user is allowed to do based on their permissions, rather than their role alone. This helps manage access for different users and teams.
If a service needs to check permissions handled by another service, it asks that service to verify access. This allows each service to manage its own permissions while checking the user’s access rights.
4. AI Copilot for sales information
Lattice includes an AI Copilot built with Django, LangGraph, and MCP. It connects to the Sales service and can generate deal summaries through an LLM endpoint.
The Copilot was built as a production component rather than a standalone experiment, following the same production-first principles behind GoML’s AI Matic platform for moving generative AI from pilot to deployment.
How Lattice connects daily operations
Lattice brings sales and delivery along with other internal business tasks together at one platform.
- Sales and handoff: Sales teams manage accounts and opportunities, then transfer work to delivery through the Handoff service.
- Project management: Delivery teams manage projects, tasks, timesheets and defects in one place.
- SLA tracking: The platform tracks service-level agreements and handles breach alerts and escalations.
- Team communication: Engagement service manages notifications, activity feeds, audit logs, and transactional emails.
- File storage: File Store keeps uploaded files in Amazon S3 and controls access to project files.
- AI Copilot: The AI Copilot accesses sales information through MCP and generates deal summaries.
These services help us manage sales, delivery, and internal operations through one platform, with each service handling its own tasks and data.
A sovereign approach to business operations with Lattice
With Lattice, GoML owns the engine behind its daily business operations. Third-party software include features teams don't need, limit control over changes, and exfiltrate valuable business data to train their AI features. AI code generation and spec-driven development have made building sovereign software faster and more affordable. GoML built Lattice to meet its business needs at a lower cost than a year of subscriptions, with a design ready for production use.
Lattice has grown into a working platform with 10 services, including Sales, Handoff and AI Copilot. Its development also draws on reusable components from AI Matic, GoML's platform for taking AI solutions from pilot projects to production.
The platform supports custom permissions at the organization, project and workspace levels. Access can be revoked or set to expire when no longer needed, while conditional rules based on time or location are still pending. The technical review also identified security improvements still needed, including better secret management, encrypted communication between services, Kafka security and stronger separation of data between tenants.
Lattice outcome
- 40% less time on sales-to-delivery handoffs through the Handoff service
- 50% less time preparing deal summaries with AI Copilot
- 30% fewer manual access requests through flexible permission controls




