Building a production-ready marketing attribution platform in 11 months
Marketing teams waste hours every week jumping between Google Ads, Meta, HubSpot, and their analytics tools — each showing a different picture of the same campaigns.

The challenge
Marketing leaders face a fragmentation problem that compounds as their tech stack grows. A campaign manager might check Google Ads for search performance, Meta for social ROI, HubSpot for pipeline impact, Google Analytics for site traffic, and Search Console for visibility — and still lack a single coherent narrative of what's working. The cost is time wasted on manual reconciliation and decisions made on incomplete data.
Source.app's founders saw this pattern across their customer base and decided to build a unified platform: a single source of truth that ingests data from six major marketing platforms and surfaces insights executives and campaign managers actually need. The challenge wasn't just integrating APIs — it was building the right data model and interface fast enough to validate the idea before market momentum shifted. They came to us with a tight timeline and a clear mandate: prove the concept works in production by end of year.
What we learned
| Six dashboards, six numbers | When every channel reports differently, managers decide on incomplete signals — and the numbers contradict each other. |
| Integration cost grows non-linearly | Each new platform doesn't add one integration — it adds coordination with every existing one. |
| Architecture risk hides in feasibility | Committing to a data model before validating API complexity is how multi-month rebuilds start. |
The solution
We structured the engagement in three linked phases, with a critical architectural decision at the start. We spent the first six weeks on technical feasibility — not design, not engineering, but focused validation of the data architecture, API integration strategy, and event tracking model that would need to support the platform for years. That phase identified the shape of the problem before we committed heavy engineering. It let us say "yes, this scales" with confidence, and it forced early conversations about what data belongs on the executive dashboard versus the campaign manager's view.
Once the foundation was proven, we designed and built the platform across two audiences. Executives need high-level ROI across channels — which campaigns drove revenue, where budgets are going, what's trending up or down. Campaign managers need to drill into daily performance, optimize bids, troubleshoot underperforming creative. We designed separate views for each rather than forcing one interface to serve both roles. The multi-view approach meant more design and development work, but it's the architectural choice that made the product feel cohesive instead of overwhelming.
The integration layer connects Google Ads, Meta, HubSpot, Google Analytics, Search Console, and Mailchimp — each with its own authentication, rate limits, and data model. We built a custom event architecture to normalize that data into a common schema. On top of that sits an AI Analyst feature that surfaces anomalies and insights proactively rather than waiting for a user to ask — when a channel's ROI shifts significantly, the system flags it with context.
The stack is React and Next.js on the front end, AWS for compute and storage, and a custom Node.js backend that orchestrates the API integrations and runs the AI analysis layer. Each integration runs on a schedule, pulling fresh data every four hours, and the dashboard reflects the most recent snapshot without forcing a manual refresh.
What this shaped
| Feasibility phase before commitment | Six weeks proving the data model and integration approach work prevents the rebuild later. |
| Different audiences, different surfaces | Executives need ROI; campaign managers need detail. Designing one experience for both serves neither well. |
| Normalise before you surface | Every platform sends a different shape — translate to a common event schema before users ever see it. |
The impact
Source.app shipped its production MVP in November, just under the 11-month target. The platform is live with early enterprise adopters who are using it as their primary dashboard for marketing performance. Campaign teams report spending less time manually pulling data across platforms and more time on strategy and optimization. The unified view makes seasonal trends and ROI shifts visible immediately — insights that were buried in spreadsheet reconciliation before.
Beyond the product, the engagement proved that our approach to technical de-risking works at speed. Starting with a feasibility phase meant the engineering phase ran clean. No architectural pivots mid-build. No surprises in the integration layer. The team delivered on time and on scope.
What this proved
| Validated bets ship on time | Architecture validated upfront means the build phase doesn't pause for mid-flight pivots. |
| One pane reveals causation | When all channels appear together, trends and trade-offs become visible that stayed hidden when they were separate. |
| Working MVP beats perfect roadmap | Shipping a usable version on schedule builds momentum — and feedback — that perfectionism never produces. |
Technologies used
- React
- Next.js
- AWS
Twistag's communication was solid. We had daily stand-ups and a consistent flow of communication. We felt like we had an open and honest dialogue with them. They worked diligently and even overtime to get things done on time.

