> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Casos de uso

> Explore fluxos de trabalho que reúnem seu contexto, ferramentas conectadas e um resultado no Replit.

export const useCases = [{
  slug: "prepare-for-a-customer-call",
  href: "/use-cases/prepare-for-a-customer-call",
  title: "Prepare for a customer call",
  description: "Bring connected tools and files together to compare evidence and prepare a clear answer.",
  categories: ["Sales", "Support"],
  time: "10 min",
  connectors: [{
    id: "salesforce",
    name: "Salesforce"
  }, {
    id: "slack",
    name: "Slack"
  }, {
    id: "google-drive",
    name: "Google Drive"
  }],
  cover: "/images/use-cases/prepare-for-a-customer-call.png"
}, {
  slug: "analyze-customer-feedback",
  href: "/use-cases/analyze-customer-feedback",
  title: "Analyze customer feedback",
  description: "Turn support tickets into themes, trends, and a dashboard your team can act on.",
  categories: ["Product", "Support"],
  time: "15 min",
  connectors: [{
    id: "zendesk",
    name: "Zendesk"
  }, {
    id: "slack",
    name: "Slack"
  }, {
    id: "notion",
    name: "Notion"
  }],
  cover: "/images/use-cases/analyze-customer-feedback.png"
}, {
  slug: "analyze-user-interviews",
  href: "/use-cases/analyze-user-interviews",
  title: "Analyze user interviews",
  description: "Turn interview transcripts into themes, verbatim quotes, and a research repository.",
  categories: ["Research", "Design"],
  time: "15 min",
  connectors: [{
    id: "google-drive",
    name: "Google Drive"
  }, {
    id: "notion",
    name: "Notion"
  }],
  cover: "/images/use-cases/analyze-user-interviews.png"
}, {
  slug: "monitor-brand-mentions",
  href: "/use-cases/monitor-brand-mentions",
  title: "Monitor brand mentions",
  description: "Catch important conversations about your brand and send them to the right place.",
  categories: ["Marketing"],
  time: "5 min",
  connectors: [{
    id: "x",
    name: "X"
  }, {
    id: "slack",
    name: "Slack"
  }, {
    id: "notion",
    name: "Notion"
  }],
  cover: "/images/use-cases/monitor-brand-mentions.png"
}, {
  slug: "monitor-competitors",
  href: "/use-cases/monitor-competitors",
  title: "Monitor competitors",
  description: "Detect pricing and feature changes, then keep competitive intelligence current.",
  categories: ["Product", "Marketing"],
  time: "10 min",
  connectors: [{
    id: "slack",
    name: "Slack"
  }, {
    id: "notion",
    name: "Notion"
  }],
  cover: "/images/use-cases/monitor-competitors.png"
}, {
  slug: "monitor-top-ads",
  href: "/use-cases/monitor-top-ads",
  title: "Monitor top ads",
  description: "Centralize ad performance and find the creatives worth scaling or pausing.",
  categories: ["Marketing"],
  time: "10 min",
  connectors: [{
    id: "tiktok-ads",
    name: "TikTok Ads"
  }, {
    id: "snapchat",
    name: "Snapchat Ads"
  }, {
    id: "google-ads",
    name: "Google Ads"
  }, {
    id: "facebook",
    name: "Meta Ads"
  }],
  cover: "/images/use-cases/monitor-top-ads.png"
}, {
  slug: "weekly-pipeline-report",
  href: "/use-cases/weekly-pipeline-report",
  title: "Generate a weekly sales report",
  description: "Show sales pipeline movement and trends from HubSpot every week.",
  categories: ["Sales", "Data"],
  time: "15 min",
  connectors: [{
    id: "hubspot",
    name: "HubSpot"
  }, {
    id: "google-sheets",
    name: "Google Sheets"
  }, {
    id: "slack",
    name: "Slack"
  }],
  cover: "/images/use-cases/weekly-pipeline-report.png"
}, {
  slug: "track-subscriptions",
  href: "/use-cases/track-subscriptions",
  title: "Track subscriptions",
  description: "Find recurring payments in email and calculate what they cost each month.",
  categories: ["Finance", "Operations"],
  time: "10 min",
  connectors: [{
    id: "gmail",
    name: "Gmail"
  }, {
    id: "google-sheets",
    name: "Google Sheets"
  }],
  cover: "/images/use-cases/track-subscriptions.png"
}, {
  slug: "catch-up-while-away",
  href: "/use-cases/catch-up-while-away",
  title: "Catch up while away",
  description: "Turn Slack, email, and calendar activity into a return-to-work briefing.",
  categories: ["Operations", "Personal"],
  time: "10 min",
  connectors: [{
    id: "slack",
    name: "Slack"
  }, {
    id: "gmail",
    name: "Gmail"
  }, {
    id: "google-calendar",
    name: "Google Calendar"
  }, {
    id: "notion",
    name: "Notion"
  }],
  cover: "/images/use-cases/catch-up-while-away.png"
}, {
  slug: "source-candidates",
  href: "/use-cases/source-candidates",
  title: "Source candidates",
  description: "Find matching engineers on GitHub, skip existing candidates, and draft outreach.",
  categories: ["HR"],
  time: "15 min",
  connectors: [{
    id: "google-drive",
    name: "Google Drive"
  }, {
    id: "github",
    name: "GitHub"
  }, {
    id: "ashby",
    name: "Ashby"
  }],
  cover: "/images/use-cases/source-candidates.png"
}, {
  slug: "generate-release-notes",
  href: "/use-cases/generate-release-notes",
  title: "Generate release notes",
  description: "Turn GitHub and Linear changes into release notes people can read.",
  categories: ["Engineering", "Product"],
  time: "10 min",
  connectors: [{
    id: "github",
    name: "GitHub"
  }, {
    id: "linear",
    name: "Linear"
  }, {
    id: "notion",
    name: "Notion"
  }],
  cover: "/images/use-cases/generate-release-notes.png"
}, {
  slug: "pitch-deck-from-website",
  href: "/use-cases/pitch-deck-from-website",
  title: "Build an investor pitch deck",
  description: "Turn your website, brand files, and financials into an investor-ready deck.",
  categories: ["Finance", "Operations"],
  time: "20 min",
  connectors: [{
    id: "google-drive",
    name: "Google Drive"
  }, {
    id: "google-sheets",
    name: "Google Sheets"
  }],
  cover: "/images/use-cases/pitch-deck-from-website.png"
}, {
  slug: "create-social-kit",
  href: "/use-cases/create-social-kit",
  title: "Create social icons and banners",
  description: "Generate profile icons and cover banners for every network in the right size.",
  categories: ["Marketing", "Design"],
  time: "10 min",
  connectors: [{
    id: "google-drive",
    name: "Google Drive"
  }],
  cover: "/images/use-cases/create-social-kit.png"
}, {
  slug: "design-landing-page",
  href: "/use-cases/design-landing-page",
  title: "Design a landing page",
  description: "Turn a brief and brand files into a waitlist or launch page in Replit Design.",
  categories: ["Marketing", "Design"],
  time: "15 min",
  connectors: [{
    id: "notion",
    name: "Notion"
  }, {
    id: "google-drive",
    name: "Google Drive"
  }],
  cover: "/images/use-cases/design-landing-page.png"
}, {
  slug: "redesign-your-website",
  href: "/use-cases/redesign-your-website",
  title: "Redesign your existing website",
  description: "Recreate your current site as a design frame, compare directions, then build the winner.",
  categories: ["Design", "Marketing"],
  time: "15 min",
  connectors: [],
  cover: "/images/use-cases/redesign-your-website.png"
}, {
  slug: "create-design-system",
  href: "/use-cases/create-design-system",
  title: "Create your design system",
  description: "Extract your colors, type, and tokens into a saved system, then bring existing apps under it.",
  categories: ["Design"],
  time: "20 min",
  connectors: [{
    id: "google-drive",
    name: "Google Drive"
  }, {
    id: "figma",
    name: "Figma"
  }],
  cover: "/images/use-cases/create-design-system.png"
}, {
  slug: "import-figma-design",
  href: "/use-cases/import-figma-design",
  title: "Go from Figma to a live App",
  description: "Turn Figma frames into a publishable Replit app that matches your design.",
  categories: ["Design", "Engineering"],
  time: "15 min",
  connectors: [{
    id: "figma",
    name: "Figma"
  }],
  cover: "/images/use-cases/import-figma-design.png"
}, {
  slug: "build-online-store",
  href: "/use-cases/build-online-store",
  title: "Build an online store",
  description: "Import your catalog into Shopify and design the storefront in Replit.",
  categories: ["Operations", "Sales"],
  time: "20 min",
  connectors: [{
    id: "google-sheets",
    name: "Google Sheets"
  }, {
    id: "google-drive",
    name: "Google Drive"
  }, {
    id: "shopify",
    name: "Shopify"
  }],
  cover: "/images/use-cases/build-online-store.png"
}, {
  slug: "live-api-dashboard",
  href: "/use-cases/live-api-dashboard",
  title: "Build a live API dashboard",
  description: "Turn a public API into a dashboard that stays up to date.",
  categories: ["Engineering", "Data"],
  time: "15 min",
  connectors: [],
  cover: "/images/use-cases/live-api-dashboard.png"
}, {
  slug: "review-a-live-website",
  href: "/use-cases/review-a-live-website",
  title: "Review a live website",
  description: "Check links, responsiveness, accessibility, and design decisions on any live site, wherever it's hosted.",
  categories: ["Design", "Engineering"],
  time: "20 min",
  connectors: [{
    id: "slack",
    name: "Slack"
  }, {
    id: "notion",
    name: "Notion"
  }],
  cover: "/images/use-cases/review-a-live-website.png"
}, {
  slug: "launch-event-website",
  href: "/use-cases/launch-event-website",
  title: "Launch a paid event website",
  description: "Ship a public event site with paid tickets, confirmations, and an attendee list.",
  categories: ["Operations", "Marketing"],
  time: "20 min",
  connectors: [{
    id: "notion",
    name: "Notion"
  }, {
    id: "resend",
    name: "Resend"
  }, {
    id: "stripe",
    name: "Stripe"
  }],
  cover: "/images/use-cases/launch-event-website.png"
}];

export const UseCaseSearch = ({items}) => {
  const renderCard = item => {
    const categories = item.categories ?? [];
    const connectors = item.connectors ?? [];
    const search = [item.title, ...categories, ...connectors.map(connector => connector.name)].join(" ").toLowerCase();
    return <a className="use-case-card" href={item.href} key={item.slug} data-search={search}>
        <div className={`use-case-card-cover${item.cover ? "" : " use-case-card-cover--placeholder"}`}>
          {item.cover && <img src={item.cover} alt="" loading="lazy" width="800" height="451" />}
        </div>
        <h3>{item.title}</h3>
        <p>{item.description}</p>
        <div className="use-case-card-meta">
          {categories.length > 0 && <>
              <span>{categories.join(", ")}</span>
              <span aria-hidden="true">·</span>
            </>}
          <span>{item.time}</span>
        </div>
      </a>;
  };
  useEffect(() => {
    const host = document.getElementById("header") || document.getElementById("use-case-search-fallback");
    if (!host) return undefined;
    const wrapper = document.createElement("div");
    wrapper.className = "use-case-search-input";
    wrapper.innerHTML = `
      <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
        <path d="M15.25 15.25L11.285 11.285" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
        <path d="M7.75 12.75C10.5114 12.75 12.75 10.5114 12.75 7.75C12.75 4.98858 10.5114 2.75 7.75 2.75C4.98858 2.75 2.75 4.98858 2.75 7.75C2.75 10.5114 4.98858 12.75 7.75 12.75Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
      </svg>
      <input type="text" placeholder="Search use cases..." aria-label="Search use cases" />
    `;
    const input = wrapper.querySelector("input");
    const grid = document.getElementById("use-case-grid");
    const empty = document.getElementById("use-case-empty");
    const onInput = () => {
      const q = input.value.trim().toLowerCase();
      let visible = 0;
      grid.querySelectorAll(".use-case-card").forEach(card => {
        const match = !q || (card.dataset.search || "").includes(q);
        card.style.display = match ? "" : "none";
        if (match) visible += 1;
      });
      if (empty) empty.style.display = visible ? "none" : "";
    };
    input.addEventListener("input", onInput);
    host.appendChild(wrapper);
    return () => {
      input.removeEventListener("input", onInput);
      wrapper.remove();
    };
  }, []);
  return <>
      <style>{`
        header.leading-none h1 { flex: 1 1 auto; width: 100%; text-align: center; }
        header.leading-none p { text-align: center; }
        header.leading-none { display: flex; flex-direction: column; }
        header.leading-none .flex.flex-col.sm\\:flex-row { flex-direction: column; gap: 0; }
        header.leading-none #page-context-menu { order: -1; align-self: flex-end; margin: 0 0 12px !important; }
      `}</style>
      <div id="use-case-search-fallback" />
      <div className="use-case-results">
        <div id="use-case-grid" className="use-case-grid">
          {items.map(renderCard)}
        </div>
        <p id="use-case-empty" className="use-case-search-empty" style={{
    display: "none"
  }}>
          No use cases found. Try a different title, connector, or job function.
        </p>
      </div>
    </>;
};

<UseCaseSearch items={useCases} />
