Inspiration

Advertising is everywhere in modern media. Before a video starts, there’s an ad. Just as you get into it, it pauses again. On social feeds, sponsored posts break up the scroll. We’ve normalized interruption. At the same time, everything else has become seamless. Streaming is instant. Video production is cinematic. Platforms are designed for continuous consumption. Yet monetization still relies on stopping the experience. That disconnect is what led us to build Chameleon.

Chameleon is a non intrusive advertising platform that seamlessly integrates brands directly into existing video content. Instead of interrupting viewers with mid roll ads or scripted sponsor segments, Chameleon embeds products naturally inside the environment of the video itself.

What Chameleon Does

• Replaces interruptive advertising with seamless product integration • Embeds sponsor products directly into existing video scenes • Preserves lighting, motion, perspective, and background integrity • Maintains immersion without cutting away from content • Enables monetization without disrupting storytelling

How we built it

Chameleon is a fully AWS-native sponsorship marketplace built on a four-stage serverless pipeline:

  1. Upload Creators upload videos through our React frontend hosted on S3 + CloudFront. The frontend requests a pre-signed URL from our FastAPI backend running on Elastic Beanstalk, then uploads directly to S3 — the API server never touches the video bytes. An S3 ObjectCreated event fires to EventBridge, triggering the pipeline.
  2. AI Analysis EventBridge triggers two AWS Lambda functions in parallel: chameleon-video-analyzer submits the video to TwelveLabs to extract topics, hashtags, and a title chameleon-ad-analyzer uses TwelveLabs to detect the precise timecodes where a sponsored product could be inserted naturally Both results are stored in DynamoDB.
  3. Marketplace Companies browse analyzed videos on the frontend, seeing AI-extracted topics and video thumbnails. They submit sponsorship offers via FastAPI → DynamoDB. Creators review and accept or reject. On acceptance, FastAPI emits an OfferAccepted event to EventBridge.
  4. AI Video Editing The OfferAccepted event triggers chameleon-video-edit Lambda. It retrieves the original video from S3, uses Runway to generate a seamless AI-edited sponsorship insertion at the detected timecode, and stores the finalized video back to S3.

🦎 Challenges We Faced

  1. First-Time AWS Infrastructure Challenge: We had never built a fully event-driven pipeline on AWS. Early Lambda triggers fired inconsistently, metadata updates failed, and debugging across S3, EventBridge, and DynamoDB became difficult. How We Overcame It: We introduced structured state tracking in DynamoDB, made our Lambda functions idempotent, and modularized the workflow so each stage was isolated and testable.

  2. In-House vs. Outsourced Video Processing Challenge: We initially attempted to build parts of the video model in-house. Motion consistency and realistic object replacement were far more complex than expected. How We Overcame It: We adopted a hybrid model, using Twelve Labs for video intelligence and Runway for motion-aware execution, focusing our effort on orchestration rather than low-level modeling.

  3. Generative Model Instability Challenge: Early replacements caused background smearing, distorted labels, and incorrect scaling. How We Overcame It: We constrained edits to precise object regions, refined prompts, and prioritized motion-aware replacement to preserve lighting and scene geometry.

  4. Ambitious Scope & Integration Friction Challenge: Our initial scope was too broad, and connecting multiple services created early integration friction. How We Overcame It: We separated the system into perception, decision, and execution layers and clearly defined ownership across the team.

  5. Video Generation Cost Challenge: Video generation proved computationally expensive and difficult to scale. How We Overcame It: We optimized AI usage, reduced unnecessary model calls, and limited processing windows to control costs.

🧠 Lessons Learned

• Break complex systems into modular, independent layers • Design distributed systems with explicit state management • Balance generative flexibility with deterministic control • Prioritize realism and reliability over novelty • Optimize for cost and scalability from the start • Scope discipline is critical when building ambitious systems

Works Cited

      Boerman, S. C., Willemsen, L. M., & Van Der Aa, E. P. (2017). “this post is sponsored” effects of sponsorship disclosure on persuasion knowledge and electronic word of mouth in the context of Facebook. Journal of Interactive Marketing, 38(1), 82–92. https://doi.org/10.1016/j.intmar.2016.12.002 

       Sharma, A., Dwivedi, R., Mariani, M. M., & Islam, T. (2022). Investigating the effect of advertising irritation on digital advertising effectiveness: A moderated mediation model. Technological Forecasting and Social Change, 180, 121731. https://doi.org/10.1016/j.techfore.2022.121731

Built With

  • auth0
  • dynamodb
  • fastapi
  • lambda
  • react
  • runway
  • s3
  • shadcn
  • twelvelab
Share this project:

Updates