Naboria RMA — Technology Stack

An omnichannel campaign management platform with ML budget optimization, geo lift measurement, and real-time syncing across Meta, Google, and Naboria Ads.

Launch Platform
Back to Stack Overview

Components

Every piece of the Naboria RMA stack and what it does.

API Server

Go / Chi

A fast REST API handling campaign CRUD, multi-tenant auth, channel syncing, and background scheduling — all in a single binary.

Frontend

Next.js + React

A TypeScript SPA with Tailwind CSS, Leaflet maps for geo lift visualization, and a JWT-aware API client with automatic 401 redirect.

Relational DB

PostgreSQL

Stores the campaign lifecycle — campaigns, budgets, creatives, audiences, experiments, alerts, and multi-tenant organization hierarchy.

Analytics DB

ClickHouse

Time-series performance storage using SummingMergeTree and ReplacingMergeTree — campaign metrics, forecasts, budget recommendations, and geo lift results.

Cache

Redis

Session cache and rate limiting for the API layer, keeping hot data fast and reducing database load.

Forecasting

Prophet

Generates 7-day performance forecasts every 6 hours — used for pacing alerts and budget planning.

Budget Optimization

Hill Curves + SLSQP

Fits diminishing-returns curves to historical spend and uses constrained optimization to allocate budget where marginal return is highest.

Incrementality

DID + Permutation Tests

Geo-based Difference-in-Differences with permutation tests for statistical rigor — proving true incremental lift across treatment and control markets.

Experimentation

A/B Testing

Two-proportion z-test for comparing variant performance with statistical significance — applied to creative, audience, and channel experiments.

Attribution

Time-Decay WLS

Weighted least squares attribution model with time-decay weighting — allocating credit across channels based on recency and contribution.

Orchestration

Dagster

Schedules all ML pipelines — forecasting, budget allocation, geo lift, and attribution — with job-level observability and retry logic.

Reverse Proxy

Caddy

Path-based routing — /api and /auth to the Go server, everything else to Next.js — with automatic TLS via Let's Encrypt.

Channel Integration

Meta Marketing API

Full bi-directional sync via Graph API v21.0 — push campaigns and budgets, pull daily insights and creative-level performance.

Channel Integration

Naboria Ads API

Pulls onsite ad performance via the Meta-compatible /api/insights endpoint — unifying onsite and offsite metrics in one dashboard.

Back to Stack Overview Naboria Ads Stack