Inspiration
- We wanted an agent that could think like a full-stack marketer: research markets, generate creative, and optimize campaigns—without babysitting.
- We were inspired by the friction marketers face juggling tools, approvals, and learning curves. We aimed for a system that moves from “insight → action → measurement” in one loop.
- Technically, we were also motivated by the challenge of making LLM workflows reliable, auditable, and fast enough for real use.
What it does
- Conducts market and competitor research, distills insights, and proposes strategy.
- Generates channel-ready copy (ads, landing ideas, email snippets) with brand-safe controls.
- Plans and optimizes campaigns, closing the loop with performance data.
- Supports a supervisory agent that routes work to specialized agents (researcher, ad generator, optimizer) and requests user approval when needed.
How we built it
- Multi-agent architecture:
supervisororchestratesresearcher,ad_generator, andoptimizertasks. - Deterministic prompts and validators for safe, structured outputs (JSON schemas, content filters).
- Integration surfaces for Google Ads and experimentation frameworks; logs and metrics feed a feedback loop.
- Frontend demo for quick review/approval; CLI + scripts for batch runs and testing.
- Persistence for memory/context; rate limiting, secrets management, and health checks to keep it robust.
A simplified control loop:
- Research → Synthesize insights → Propose strategies
- Generate creatives → Validate → Seek approval (if required)
- Launch/Simulate → Measure → Optimize → Repeat
A small math note we used for prioritization:
- We model expected uplift with a simple ROI: ( \mathrm{ROI} = \frac{\mathrm{Revenue} - \mathrm{Cost}}{\mathrm{Cost}} )
- For exploration, a UCB-style score for a variant (i): ( \mathrm{UCB}_i = \hat{\mu}_i + c \sqrt{\frac{\ln t}{n_i}} ), balancing exploitation and exploration.
Challenges we ran into
- Balancing creativity with brand and regulatory constraints.
- Making LLM outputs structured and verifiable under tight latency budgets.
- Avoiding prompt drift across multi-step workflows.
- Handling partial integrations gracefully (sandbox vs. real APIs).
- Ensuring observability: tracing across agents, runs, and approvals.
Accomplishments that we're proud of
- A clean, auditable workflow that turns research into measurable experiments.
- Robust validation layers that reduce hallucinations and enforce schemas.
- Modular agents that can be extended or swapped without breaking the pipeline.
- End-to-end demo with approvals, logs, tests, and example outputs for real scenarios.
What we learned
- Guardrails must be layered: schema validation, policy filters, and deterministic prompting together.
- Small evaluation harnesses (unit tests + golden outputs) catch regressions early.
- Observability is a feature—good logs and metrics make tuning fast.
- Human-in-the-loop points dramatically increase trust and adoption.
What’s next for caspar marketing agent
- Deeper real-time integrations (ads APIs, analytics, CRM) with safer fallbacks.
- Richer optimization (multi-objective, budget allocation, pacing controls).
- Better memory and persona conditioning across campaigns and channels.
- Team workflows: collaborative review, versioned strategies, and experiment registries.
- Automatic brief extraction from existing assets to reduce onboarding friction.
Built With
- beautifulsoup4
- crewai
- cryptography
- flask
- gunicorn
- huggingface
- langchain
- lxml
- ollama
- pathlib
- postgresql
- python
- sentencetransformers

Log in or sign up for Devpost to join the conversation.