> ## 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.

# 경쟁 상황 지켜보기

> 유용한 현지 리서치와 출시 계획 업데이트를 커피숍 Conversation에 매주 전달하는 Routine을 만드세요.

export const RoutineWatchCover = () => <div className="chat-mkt" role="img" aria-label="A frosted recurring market watch with a schedule and research updates" style={{
  margin: "28px 0 42px",
  borderTop: 0,
  paddingTop: 0
}}>
    <div className="chat-use-case-visual" style={{
  aspectRatio: "auto",
  minHeight: "clamp(220px, 34vw, 320px)",
  overflow: "hidden",
  background: "radial-gradient(circle at 50% -18%, rgba(255,255,255,.82), transparent 42%), radial-gradient(circle at 4% 96%, rgba(255,184,146,.48), transparent 38%), linear-gradient(140deg, #ff764d, #ff3c00 60%, #c92d00)"
}}>
      <div aria-hidden="true" style={{
  position: "absolute",
  inset: 0,
  background: "linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 48%, rgba(111,24,0,.2))"
}} />
      <div aria-hidden="true" style={{
  position: "relative",
  zIndex: 1,
  display: "grid",
  gridTemplateColumns: "minmax(0, .9fr) minmax(0, 1.25fr)",
  gap: "clamp(12px, 2.5vw, 24px)",
  width: "min(720px, 84%)",
  minHeight: "inherit",
  alignItems: "center",
  margin: "auto"
}}>
        <div style={{
  display: "grid",
  placeItems: "center",
  aspectRatio: "1",
  border: "1px solid rgba(255,255,255,.6)",
  borderRadius: 24,
  background: "linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.12))",
  boxShadow: "0 18px 36px rgba(55,27,18,.2)",
  backdropFilter: "blur(6px)"
}}>
          <div style={{
  position: "relative",
  width: "44%",
  aspectRatio: "1",
  border: "2px solid rgba(255,255,255,.86)",
  borderRadius: 999
}}>
            <span style={{
  position: "absolute",
  width: "2px",
  height: "34%",
  left: "50%",
  top: "18%",
  transformOrigin: "bottom",
  transform: "translateX(-50%) rotate(22deg)",
  borderRadius: 99,
  background: "rgba(255,255,255,.9)"
}} />
            <span style={{
  position: "absolute",
  width: "2px",
  height: "26%",
  left: "50%",
  top: "25%",
  transformOrigin: "bottom",
  transform: "translateX(-50%) rotate(-72deg)",
  borderRadius: 99,
  background: "rgba(255,255,255,.9)"
}} />
          </div>
        </div>
        <div style={{
  display: "grid",
  gap: "clamp(9px, 1.6vw, 14px)"
}}>
          {["82%", "64%", "74%"].map((width, index) => <div key={width} style={{
  display: "grid",
  gridTemplateColumns: "18px minmax(0, 1fr)",
  alignItems: "center",
  gap: 10,
  padding: "clamp(10px, 1.6vw, 14px)",
  border: "1px solid rgba(255,255,255,.48)",
  borderRadius: 15,
  background: index === 0 ? "rgba(255,255,255,.3)" : "rgba(255,255,255,.13)",
  backdropFilter: "blur(5px)"
}}>
              <span style={{
  width: 18,
  height: 18,
  borderRadius: 6,
  background: index === 0 ? "rgba(255,255,255,.9)" : "rgba(255,255,255,.42)"
}} />
              <span style={{
  width,
  height: 7,
  borderRadius: 99,
  background: "rgba(255,255,255,.74)"
}} />
            </div>)}
        </div>
      </div>
    </div>
  </div>;

export const CoffeeShopScreenshotFrame = ({src, alt}) => <div style={{
  margin: "28px 0",
  overflow: "hidden",
  borderRadius: "24px",
  background: "radial-gradient(circle at 50% -18%, rgba(255,255,255,.82), transparent 42%), radial-gradient(circle at 4% 96%, rgba(255,184,146,.48), transparent 38%), linear-gradient(140deg, #ff764d, #ff3c00 60%, #c92d00)",
  boxShadow: "0 16px 32px rgba(112,36,13,.18)"
}}>
    <div style={{
  padding: "clamp(10px, 2vw, 18px)",
  background: "linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 48%, rgba(111,24,0,.2))"
}}>
      <a href={src} target="_blank" rel="noreferrer" aria-label={`Open ${alt} at full size`} style={{
  display: "block",
  overflow: "hidden",
  border: "1px solid rgba(255,255,255,.62)",
  borderRadius: "16px",
  background: "rgba(255,255,255,.96)",
  boxShadow: "0 12px 28px rgba(55,27,18,.2)",
  cursor: "zoom-in"
}}>
        <img src={src} alt={alt} style={{
  display: "block",
  width: "100%",
  height: "auto"
}} />
      </a>
    </div>
  </div>;

export const AiPrompt = ({children}) => {
  return <CodeBlock className="relative block max-w-full overflow-x-hidden font-sans !whitespace-pre-wrap !break-words" style={{
    overflowWrap: "anywhere",
    wordBreak: "break-word"
  }}>
      <div className="pr-7" style={{
    whiteSpace: "pre-wrap",
    overflowWrap: "anywhere",
    wordBreak: "break-word"
  }}>
        {children}
      </div>
    </CodeBlock>;
};

<RoutineWatchCover />

여러분에게는 출시 계획과 선택한 동네 모델이 있습니다. 하지만 현지 이벤트,
인근 커피숍, 시장 상황은 오픈 전에 바뀔 수 있습니다.

Routine은 일정에 따라 실행되고 그 결과를 같은 대화로 되돌려 주는 반복 작업입니다.
현지 경쟁 상황을 계속 지켜보고 계획에 영향을 줄 수 있는 변화를 검토하기 위해
하나를 만들어 보세요.

## 현지 시장 Routine 만들기

<Steps>
  <Step title="반복 요청 작성하기">
    카페 출시에 중요한 정보를 모니터링하도록 Replit에 요청하세요.

    <AiPrompt>
      매주 월요일에 현지 이벤트, 인근 커피숍, 제 동네 카페 출시에 영향을 줄 수
      있는 변화를 검토해 주세요. 무엇이 바뀌었는지 요약하고, 그것이 왜 중요한지
      설명하고, 이 Conversation에서 제 출시 계획에 필요한 업데이트를 추천해
      주세요.
    </AiPrompt>
  </Step>

  <Step title="일정과 초점 명확히 하기">
    Routine이 언제 실행되어야 하는지, 무엇을 모니터링해야 하는지에 대한
    Replit의 후속 질문에 답하세요. 예를 들어 월요일 아침을 선택하고, 선택한
    동네, 비교 대상 카페, 현지 이벤트를 지켜보도록 요청하세요.
  </Step>

  <Step title="Routine 검토 및 승인하기">
    제안된 지침과 일정을 검토한 다음 Routine을 승인하세요. 확인하는 시점에
    Replit은 여러분 기기의 시간대를 사용합니다. 승인하기 전에 실행당 예산도
    조정할 수 있습니다.

    <CoffeeShopScreenshotFrame src="/images/coffee-shop-launch/review-routine.png" alt="제목, 지침, 월요일 일정, 실행당 예산, Create routine 버튼을 보여주는 Replit의 Routine 승인 화면" />
  </Step>

  <Step title="결과 검토 및 계획 다듬기">
    Routine을 만들고 나면 Replit이 제목, 일정, 예산, 모니터링할 대상을
    확인해 줍니다. 이후의 각 결과는 이 Conversation으로 돌아옵니다.

    <CoffeeShopScreenshotFrame src="/images/coffee-shop-launch/routine-created.png" alt="월요일 일정, 실행당 예산, 모니터링하는 현지 변화를 보여주는 Lausanne 카페 출시 감시라는 이름의 생성된 Routine" />

    각 업데이트를 활용해 위치, 메뉴, 예산 가정, 오픈 계획을 바꿔야 하는지
    판단하세요. 우선순위가 바뀔 때마다 Routine을 업데이트하거나 삭제하세요.
  </Step>
</Steps>

전체 설정과 관리 흐름을 포함해 [Routines](/ko/chat/routines)에 대해 더
알아보세요.

다음으로, 계속 진행할 작업이 어디에 있어야 하는지 결정하기 위해
[Conversation과 Project](/ko/home/conversations-and-projects)를 비교해 보세요.
