BuildsClose

Growth Intelligence Stack

Ticmint's Growth OS: every marketing, sales and product number, pulled, checked and asked about in plain English.

LiveInternal to TicmintAlso called Growth OS

What it is

A production marketing, sales and product intelligence stack for Ticmint, also known as Growth OS, written down as an executable spec. More than ten typed API connectors sit behind one interface. A gateway reaches more than twenty MCP tool servers. Nine unattended jobs refresh the dashboards, sheets and Slack digest.

It answers the questions the team actually asks. Where do leads come from, and what do they cost? Do self-serve signups activate? What is a customer worth over time?

The problem

Ticmint's numbers lived in a dozen tools that disagreed with each other: ads, CRM, outbound, product analytics and search. Reports took hours, and two people could quote different figures for the same week. The stack makes one source of truth that states where every figure came from.

How it works

  1. Wake and resolve timeA schedule starts the run. It reads the date from the shell, never from model memory, and closes the previous month if a boundary passed.
  2. Read stateIt fetches the current dashboard document and keeps its version number for the final write.
  3. Pull everything in one passOne script fans out to GA4, Search Console, Meta Ads, Explee and Google Ads, then prints one JSON line. A failing source becomes null, never an estimate.
  4. Call the tools only the agent can reachMixpanel funnels and Ubersuggest rank tracking come in through MCP.
  5. Apply the rulesImplausible values are dropped and the last good value is kept. Fields that need a human are on a denylist and never touched.
  6. Write once, then notifyThe whole months array is rebuilt in memory and written pinned to the version it read. The founder digest goes to Slack at most once a day.

Architecture

Green is an agent tool call over MCP. Grey is a write. Amber is the schedule waking the run. Credentials exist only in environment files or cloud secrets. The dashboard page holds none: it renders one database document.

Impact

10+API connectors, 6K+ lines
20+MCP servers behind one gateway
30saved rules, each from a number that was once wrong
3,500+logged site changes, all reversible
10+hours saved per team member each month
What the build is made of

Rounded counts, in thousands.

Lines of JavaScript
13K+
Connector code
6K+
Logged site changes
3.5K+
Built in nine phases, each closed by a check

A phase is done when the output matches the source tool's own screen for the same dates.

1FoundationsLayout, brain file, rules
2Web analyticsUsers match GA4
3Paid mediaSpend matches Ads Manager
4CRM and outboundCounts match each tool
5Product analyticsFunnel matches
6Reports to SheetsNo formula cell changed
7DashboardEvery tile compared
8AutomationTwo clean unattended runs
9SEO operationsOptional, with rollback

North-star metrics it tracks: for enterprise, sales-qualified lead to won deal to activated account. For self-serve, signup to first event created to first event published.

Built with

Node.jsClaude CodeMCPOAuth 2.0Google SheetsMetabaseSlackClickUpWordPress REST

Decisions that mattered

  • Direct connectors for any figure that must be date-exact, because wrappers can silently ignore date ranges.
  • A failed source returns null. The job keeps the last good value and logs one line. It never estimates.
  • Dashboard writes use compare-and-set, so a manual edit and a scheduled run cannot overwrite each other.
  • Thirty rules, each one fact with its reason, each from a number that was once wrong.

What is next

  • Open-source the connector contract.
  • Add more sources as the team asks new questions.

Sources: Growth OS Blueprint (claude.ai artifact); Growth Intelligence context brief

Say hi

Starting something, or want to talk growth or building? Write to me.