Inspiration

Every website treats every visitor the same — a bank CTO evaluating payment infrastructure sees the exact same page as a developer looking for API docs. Meanwhile, competitors change their pricing overnight, new customer segments emerge, and no content team can keep up. We kept asking ourselves: what if your website could optimize itself while you sleep? The rise of agentic AI with Gemini 3 made that possible. We wanted to build something that's not just a chatbot or a copilot — but a fully autonomous agent that does real work, end-to-end, with zero human in the loop.

What it does

SiteShift is an autonomous AI agent that optimizes your website while you sleep. It does three things:

Competitive Intelligence — It scrapes competitor websites, uses Gemini 3 Flash with deep reasoning to analyze their positioning, pricing, and features, then generates comparison content automatically. Visitor Segment Discovery — Given your business context, the AI discovers the visitor segments that matter (enterprise buyers, developers, executives, etc.) and generates personalized headlines, value propositions, and CTAs for each. Autonomous Publishing — Everything is pushed to Notion as a CMS layer. Your website pulls personalized content in real time based on UTM parameters, so every visitor sees a page built for them. Same URL. Different visitor. Completely different website experience. No human wrote any of it.

How we built it

  • Backend: FastAPI (Python) serving as the orchestration layer for the AI agents
  • AI: Gemini 3 Flash with thinking_level="high" for deep competitive reasoning, and structured JSON output mode for machine-consumable content generation. Nano Banana for AI-generated hero images per segment.
  • CMS: Notion API as the content management layer — agents push analysis results, segments, and personalized content to Notion databases automatically
  • Frontend: A demo website with a lightweight JavaScript snippet (siteshift.js) that reads UTM parameters, calls the personalization API, and dynamically swaps content client-side
  • Testing: Full pytest suite with async support and mocked external services
  • Deployment: Designed for Railway/Render with environment-based configuration The entire system is agentic — agents can be triggered via API or scheduled to run autonomously on a cron. Results persist in Notion and auto-load on the demo site, proving the autonomous loop works end-to-end.

Challenges we ran into

  • Making the agent truly autonomous: It's easy to build a "generate text" tool, but making an agent that scrapes competitors, reasons about positioning, generates structured content, creates images, and pushes everything to a CMS without any human intervention required careful orchestration and error handling at every step.
  • Structured output reliability: Getting Gemini 3 to consistently return valid, structured JSON for content generation (headlines, CTAs, value props) required iterating on prompts and validation logic.
  • Graceful degradation: If image generation fails, if a competitor site is down, if the Notion API rate-limits; the agent needs to keep going. Building resilient fallback paths for every step was critical.
  • Real-time demo experience: Balancing the "watch the AI work in real time" demo experience with the "wake up to it done" production experience. We solved this by auto-loading persisted results from Notion on page load while still allowing live agent triggers.

Accomplishments that we're proud of

  • True zero-human-in-the-loop autonomy: From competitor scraping to content generation to CMS publishing, the entire pipeline runs without any human input. Set it up and walk away.
  • The "magic moment": Clicking different test links and watching the same website completely transform for each visitor segment, with content the AI wrote from scratch, is genuinely impressive every time.
  • Notion as a CMS bridge: Using Notion as the content layer makes AI-generated content inspectable, auditable, and overridable by humans — the best of both worlds between full autonomy and human control.
  • End-to-end persistence: Results auto-load from Notion on page refresh, proving the autonomous cycle works in production, not just in a live demo.

What we learned

  • Agentic systems need resilience at every layer : Every external call (scraping, API, Notion) can fail. Designing for graceful degradation from the start saved us hours of debugging.
  • Structured output + agentic workflows = powerful combo: JSON mode in Gemini 3 makes AI output directly machine-consumable, which is essential for autonomous agents that need to push data to databases and APIs without human parsing.

What's next for Siteshift

  • Analytics feedback loop: Feed conversion data back to Gemini so the agent learns which content performs best for each segment over time
  • Multi-site support: Manage personalization across multiple domains from a single SiteShift instance

Built With

Share this project:

Updates