Challenge
The agency runs many SEO, GEO, advertising and development projects at the same time. Each project has tasks, deadlines, revisions, finances and results that need to be reported to the client.
When all of this is scattered across a task tracker, finance spreadsheets, a calendar and separate reports, problems arise:
- deadlines slip without approval, and nobody records how many times a task was sent back for revision;
- understanding a project's profitability requires pulling data together from several places;
- expenses and payouts in different currencies have to be converted manually;
- GA4, Search Console and PageSpeed data for reports is collected separately;
- website leads land in email and can get lost;
- specialists see more than they need for their work.
We wanted a system where a project is fully visible: from task to money and results. And one that an AI assistant can work with to quickly answer questions about the state of things.
What we did
We built the CRM on Next.js 16, React 19, Tailwind CSS v4 and Supabase, deployed on Vercel. From March to October 2026, the project accumulated 656 commits, 28 screens and 16 APIs.
Modules
- projects and tasks with deadline approval and revision rounds;
- calendar;
- finances, expenses and payouts;
- revenue and results analytics;
- reports and sales;
- team, ideas and archive;
- integrations and notifications;
- website leads.
Integrations
- GA4, Google Search Console and PageSpeed for project results data;
- Google Calendar;
- exchange rates from monobank with the NBU (National Bank of Ukraine) rate as a fallback;
- an MCP server through which Claude reads CRM data.
Roles
Four roles: owner, admin, PM and specialist. Visibility of projects and tasks is limited by role, so a specialist sees only the work they are involved in.
Website leads
Leads from the agency's website automatically become tasks in the CRM. They do not need to be copied over from email, and each one has an owner.
Results
The CRM has become the agency's main working system. Tasks, deadlines, finances and project results are now in one place instead of several services.
What changed:
- a deadline change goes through approval, and revision rounds are recorded;
- project revenue and results are visible in analytics without manual consolidation;
- expenses and payouts in different currencies are converted at the monobank or NBU rate;
- GA4, GSC and PageSpeed data is pulled into reports automatically;
- website leads immediately become tasks;
- through the MCP server, Claude answers questions about projects based on CRM data.
The system is not frozen: in 7 months it has accumulated 656 commits, and we keep developing it.
What makes this project special
The main difference from off-the-shelf CRMs is AI access through an MCP server. Claude reads CRM data directly, so questions like "what is urgent this week" or "which projects are waiting for approval" do not require a manual search.
The second feature is the combination of operations and finance. Tasks with revision rounds, expenses, payouts and revenue analytics live in one system, so the real cost of each project is visible.
We use this CRM every day, so we know from our own experience which solutions work in real agency operations, and we bring that experience to client projects.
Published: · Updated: