DEV Community

Cover image for We Built RoasNova: An Open-Source AI Advertising Operations Platform
Murat Komurcu
Murat Komurcu

Posted on

We Built RoasNova: An Open-Source AI Advertising Operations Platform

Advertising teams do not suffer from a lack of dashboards.

They suffer from fragmented data, unreliable attribution, disconnected customer journeys, and automation systems that can make consequential changes without explaining why.

We built RoasNova to address that problem.

RoasNova is an open-source advertising operations platform that connects campaign performance, customer intent, conversion data, and verified revenue—then turns those signals into explainable recommendations and controlled actions.

The problem we experienced

Managing advertising operations usually means switching between:

  • Meta Ads Manager
  • Google Ads
  • TikTok Ads
  • Analytics and attribution platforms
  • CRM systems
  • Spreadsheets
  • Social inboxes
  • Internal approval processes

Each tool contains part of the truth, but none represents the complete decision.

A campaign may report a strong ROAS while producing low-margin customers. A channel may appear inefficient because conversions were not reconciled correctly. An AI agent may recommend increasing the budget without considering creative fatigue, data quality, attribution confidence, or operational risk.

We wanted to build a system that evaluates the entire evidence chain.

What RoasNova does

RoasNova currently includes:

  • Multi-channel advertising account monitoring
  • Campaign performance analytics
  • Conversion and revenue reconciliation
  • Explainable AI recommendations
  • Decision evidence and confidence scores
  • Revenue CRM and lead tracking
  • Social inbox operations
  • AI-assisted copy generation
  • Versioned campaign plans
  • Guarded campaign draft creation
  • Human approval workflows
  • Role-based access and operational limits
  • Data-health monitoring
  • Immutable audit trails
  • Scheduled synchronization and automation jobs

The system is designed to move from:

advertising data → customer intent → verified revenue → evidenced decision → controlled action

Why “guarded” AI matters

We do not believe an AI agent should be given unrestricted access to live advertising accounts.

A recommendation is only useful when the operator can answer:

  1. Why was this action recommended?
  2. Which data and revenue signals support it?
  3. How reliable is the underlying data?
  4. What is the potential downside?
  5. Does the action require human approval?
  6. Can every step be audited afterward?

RoasNova therefore treats AI as a decision-support and controlled-execution layer.

Actions can be constrained through:

  • Confidence thresholds
  • Maximum budget changes
  • Cooldown periods
  • Daily execution limits
  • User roles and permissions
  • Explicit approval requirements
  • Provider-write restrictions
  • Immutable audit records

The development environment uses sandbox data. Optional provider writes are disabled by default and limited to creating paused Meta campaign drafts after explicit approval. RoasNova cannot automatically activate ads or modify live budgets.

Technical architecture

RoasNova is built as a TypeScript monorepo using:

  • Next.js 16 and React 19 for the web application
  • Fastify 5 and Zod for the API and runtime contracts
  • PostgreSQL 18 and Prisma 7 for tenant-scoped persistence
  • Redis 8 and BullMQ 6 for synchronization and background jobs
  • S3-compatible storage for private creative assets
  • Turborepo, Vitest, ESLint, and Prettier for development and quality controls

The repository also contains connector foundations for Meta, Google Ads, and TikTok, along with billing, notifications, campaign planning, and deployment infrastructure.

Why we made it open source

Advertising infrastructure handles highly sensitive business data and can influence significant financial decisions.

We believe operators should be able to inspect how recommendations are generated, understand the safeguards around execution, and verify how their data is handled.

Open source also allows developers, agencies, and advertising teams to extend RoasNova for their own workflows instead of being locked into another opaque platform.

Current status

RoasNova is currently in the pre-launch stage.

The core platform and interactive product experience have been built, and we are preparing for initial pilot users and commercial validation.

We are currently looking for:

  • Developers interested in AI agents, advertising infrastructure, and data systems
  • E-commerce brands willing to participate in pilot testing
  • Agencies managing multiple advertising accounts
  • Technical contributors and early feedback

GitHub

The project is available under the MIT License:

👉 https://github.com/MuratKomurcu1/roasnova

If you find the project interesting, you can explore the architecture, open an issue, contribute, or give the repository a star.

We would especially like to hear how you currently connect advertising performance to verified revenue—and which parts of your advertising workflow still depend on spreadsheets and manual decisions.

Top comments (1)

Collapse
 
mk023 profile image
Marco

This is a really interesting approach to AI-assisted advertising infrastructure. 👏

What I particularly like is that the AI isn't treated as an unrestricted operator. The path from data → evidence → recommendation → controlled action is clearly separated, with confidence thresholds, execution limits, approval requirements and immutable audit trails. 🔐

That distinction matters a lot when an agent can influence real budgets and customer-facing systems. A good recommendation is one thing; giving the model the authority to execute it is a completely different risk boundary.

I also really like the decision to keep provider writes disabled by default and require explicit approval for campaign drafts. That's a much healthier starting point than trying to make the agent “safe” purely through prompts.

Great work putting the architecture and safeguards in the open. I'd be very interested to see how the policy and approval layer evolves as the system moves from pilot to real production workloads. 🚀