-
-
CFI Dashboard Overview
-
CFI Campaign Health with AI Insights
-
CFI Risk Snapshot
-
CFI Incidents Page
-
CFI Client - Campaigns Page
-
CFI Client Campaign Analysis Page
-
CFI Historical Matches Page
-
CFI Seasonal Intelligence Page
-
CFI Ask CFI Campaign intelligence chat with portfolio guardrails
-
CFI AI Knowledge Base
-
CFI Reports Page
-
CFI Risk Rules Page
-
CFI Integration Page 2
-
CFI Integrations Page 1
Inspiration
The idea for Campaign Failure Intelligence (CFI) came from a recurring challenge in digital advertising: answering the question, "Why did this campaign underperform?"
Diagnosing campaign performance is often a manual process that requires account managers to analyze dashboards, compare historical reports and rely on prior experience. Even when similar issues have been solved before, that knowledge is rarely captured in a way that can be reused. We wanted to build a system that could retain those learnings and make campaign diagnosis faster, more consistent and evidence-driven.
What it does
Campaign Failure Intelligence (CFI) is a B2B application that helps advertising agencies diagnose why digital advertising campaigns underperform, recommend corrective actions and make better-informed optimization decisions.
The application detects underperforming campaigns using configurable business rules, analyzes campaign metrics to identify likely root causes, and generates actionable recommendations using an AI agent. Where relevant, it also retrieves historically similar campaign patterns to strengthen and validate its recommendations.
How we built it
We started with a public Kaggle dataset containing campaign performance data across Google Ads, Meta Ads and TikTok Ads. Using Python and pandas, we transformed the raw data into a structured knowledge base containing campaigns, daily metrics, detected issues, inferred root causes, severity levels and seasonal context.
The backend is built on Amazon Aurora PostgreSQL Serverless v2 with the pgvector extension for vector similarity search. Campaign embeddings are generated using Amazon Titan Embeddings v2 through AWS Bedrock, while Amazon Nova Lite performs reasoning over the current campaign context and similar historical patterns to generate recommendations.
The frontend was scaffolded using Vercel v0 and built with a modern React-based stack to provide dashboards, diagnostic timelines and recommendation views.
Challenges we ran into
One of the biggest challenges was designing a workflow that balances AI reasoning with historical knowledge. We didn't want the system to simply retrieve similar examples, nor did we want it to generate recommendations without context. Combining retrieval-augmented generation with rule-based detection required several iterations before we found an approach that produced meaningful recommendations.
Another challenge was designing a data model that could support both relational analytics and vector search within the same database.
Accomplishments that we're proud of
We're proud that CFI is more than a concept, it is an end-to-end working prototype.
The application successfully detects underperforming campaigns, performs root cause analysis, retrieves similar historical patterns and generates actionable recommendations. We're also proud that the entire intelligence layer runs on AWS using Aurora PostgreSQL Serverless v2, pgvector and Amazon Bedrock without requiring a separate vector database.
What we learned
This project gave us hands-on experience building retrieval-augmented AI applications using AWS services. We learned how vector embeddings, semantic search and LLM reasoning can work together to solve real business problems, while also gaining a deeper understanding of designing scalable data architectures that can evolve from prototype to production.
What's next for Campaign Failure Intelligence (CFI)
The current prototype operates on a historical dataset, but the next step is integrating CFI with live advertising platforms such as Google Ads, Meta Ads, TikTok Ads and Amazon Ads. This will allow the diagnosis engine to analyze real-time campaign performance and provide recommendations on live campaign data.
Built With
- amazon-web-services
- amazonaurorapostgresqlserverlessv2
- amazonnovalite
- amazontitanembeddingsv2
- awsbedrock
- next.js
- node.js
- npm
- pandas
- pgvector
- postgresql
- python
- radixui
- react19
- recharts
- shadcn/ui
- sql
- tailwindcss4
- tanstackstart
- typescript
- vercelv0
- vite
Log in or sign up for Devpost to join the conversation.