Skip to content
View ZunaTtang's full-sized avatar

Block or report ZunaTtang

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please donโ€™t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
ZunaTtang/README.md

๐Ÿ‘‹ ์•ˆ๋…•ํ•˜์„ธ์š”, ์ฃผ๋‚˜(Zuna)์ž…๋‹ˆ๋‹ค

AI ์ž๋™ํ™” ๋นŒ๋” ยท Product / Growth Ops Engineer

์ €๋Š” Claude๋ฅผ ๋น„๋กฏํ•œ AI๋ฅผ ์‹ค์ œ ์—…๋ฌด ์‹œ์Šคํ…œ์— ๋…น์—ฌ ๋„ฃ๋Š” ์ผ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์žกํ•˜๊ณ  ๋ฐ˜๋ณต์ ์ธ ์šด์˜ ์—…๋ฌด๋ฅผ, ์ธก์ • ๊ฐ€๋Šฅํ•˜๊ณ  ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ž๋™ํ™” ์‹œ์Šคํ…œ์œผ๋กœ ๋ฐ”๊พธ๋Š” ๋ฐ ์ง‘์ค‘ํ•ฉ๋‹ˆ๋‹ค.

์ œ ์ž‘์—…์€ ํ”„๋กœ๋•ํŠธ ยท ๊ทธ๋กœ์Šค ยท ์šด์˜ ยท ์—”์ง€๋‹ˆ์–ด๋ง์˜ ๊ฒฝ๊ณ„์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„์ฆˆ๋‹ˆ์Šค ํŒ€์ด "์ง€๊ธˆ ๋‹น์žฅ" ๋™์ž‘ํ•˜๋Š” ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ•  ๋•Œ, ์ •์‹ ๊ฐœ๋ฐœ ์‚ฌ์ดํด๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค์–ด ๊ฒ€์ฆํ•˜๊ณ  ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜๋ณต๋˜๋Š” ์šด์˜ ํ†ต์ฆ ๋ฐœ๊ฒฌ โ†’ ์ž‘์€ ์‹œ์Šคํ…œ ์„ค๊ณ„ โ†’ ๋น ๋ฅธ ์ถœ์‹œ โ†’ ์‹ค์‚ฌ์šฉ์œผ๋กœ ๊ฒ€์ฆ โ†’ ์‹ ํ˜ธ ๊ธฐ๋ฐ˜ ๊ฐœ์„ 


๐Ÿค– Claude๋กœ ๋ฌด์—‡์„ ํ–ˆ๋‚˜ (ํ•ต์‹ฌ ํฌ์ธํŠธ)

๋‹จ์ˆœํžˆ "AI๋ฅผ ์จ๋ดค๋‹ค"๊ฐ€ ์•„๋‹ˆ๋ผ, Claude๋ฅผ ํ”„๋กœ๋•์…˜ ์›Œํฌํ”Œ๋กœ์šฐ์˜ ์˜์‚ฌ๊ฒฐ์ • ์—”์ง„๊ณผ ์šด์˜ ์ž๋™ํ™”์˜ ํ•ต์‹ฌ ๋ถ€ํ’ˆ์œผ๋กœ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ™œ์šฉ ๋ฐฉ์‹ ์–ด๋””์— ์ผ๋‚˜ ๋งŒ๋“ค์–ด๋‚ธ ๊ฐ€์น˜
Claude Code Judge QA ํšŒ๊ท€ ํƒ์ง€ ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ์˜์‹ฌ ์ผ€์ด์Šค๋งŒ Claude ์„ธ์…˜์œผ๋กœ ๋ณด๋‚ด ์ตœ์ข… ํŒ์ • ์ž๋™ํ™”์˜ ๊ณ ์งˆ์  ๋ฌธ์ œ์ธ ๋…ธ์ด์ฆˆ/์˜คํƒ์„ ์‚ฌ๋žŒ ๋Œ€์‹  ๊ฑธ๋Ÿฌ๋ƒ„
Claude Code Routines ๋งค์ผ ์ •ํ•ด์ง„ ์‹œ๊ฐ„์— Intercom ๋Œ€ํ™”๋ฅผ ์š”์•ฝํ•ด Slack์— ๋ฐœํ–‰ ์„œ๋ฒ„๋ฆฌ์Šค ์ธํ”„๋ผ ์—†์ด AI ์šด์˜ ๋ฃจํ‹ด ์ƒ์‹œ ๊ฐ€๋™ (AWS Lambda โ†’ Routine ์ด๊ด€)
AI ๋น„์šฉ ์—”์ง€๋‹ˆ์–ด๋ง ์šด๋ช…์žฌํŒ์†Œ ๊ฒŒ์ž„ โ€” ์บ์‹œยทํ”„๋ฆฌ์…‹ยท๋ฃฐ๋ฒ ์ด์Šค ํด๋ฐฑ ๋‹ค๊ณ„์ธต ๋ผ์šฐํŒ…์œผ๋กœ AI ํ˜ธ์ถœ ๋‹จ๊ฐ€๋ฅผ 0์›์— ๊ทผ์ ‘ *"ํŒ๋‹น ํ‘์ž"*๊ฐ€ ์œ ์ง€๋˜๋Š” AI ๊ฒฝ์ œ ๊ตฌ์กฐ๋ฅผ ์ง์ ‘ ์„ค๊ณ„ (provider ์ถ”์ƒํ™”๋กœ ๋ชจ๋ธ ์Šค์™‘)
Claude API ํฌ๋ฆฝํ†  ์‹œ์žฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋ฌธ๊ฐ€ ์ˆ˜์ค€ ๋ธŒ๋ฆฌํ•‘์œผ๋กœ ๋ณ€ํ™˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ + AI ํ•ด์„ + ์ž๋™ ๋ฐฐํฌ๋ฅผ ํ•˜๋‚˜์˜ ์ฝ˜ํ…์ธ  ์šด์˜ ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ
Notion MCP ๊ธฐ์กด์— ๋ฌธ์„œํ™”ํ•ด ๋‘” Notion DB๋ฅผ ์ฝ์–ด ๊ณต์ง€ยท์•ˆ๋‚ด ๋ฉ˜ํŠธ๋ฅผ ์ฆ‰์‹œ ์ดˆ์•ˆ ์ƒ์„ฑ ํฉ์–ด์ง„ ๋ฌธ์„œ๋ฅผ ์žฌ์ž‘์„ฑ ์—†์ด ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ์ž์‚ฐ์œผ๋กœ ์žฌํ™œ์šฉ
Intercom + Slack MCP ์˜คํ”ˆ๋œ ๋ฌธ์˜๋ฅผ ๋งค์ผ ์ž๋™ ์ •๋ฆฌํ•ด Slack์—์„œ "๋ฌด์—‡์ด ๋‚จ์•˜๋Š”์ง€" ๊ด€๋ฆฌ, ๋‹ต๋ณ€ ์ดˆ์•ˆ๊นŒ์ง€ ์ฆ‰์‹œ ์ƒ์„ฑ CS/์œ ์ € ๊ด€๋ฆฌยท์šด์˜์„ ๋ฐ˜์ž๋™ํ™” โ€” ์‚ฌ๋žŒ์€ ๊ฒ€ํ† ยทํ™•์ •๋งŒ
MCP (Model Context Protocol) Intercom ยท Slack ยท Notion ๋“ฑ ์™ธ๋ถ€ ๋„๊ตฌ๋ฅผ AI์— ์ง์ ‘ ์—ฐ๊ฒฐ ์ฝ”๋“œ ๊ธ€๋ฃจ ์—†์ด AI๊ฐ€ ์‹ค์ œ ์—…๋ฌด ์‹œ์Šคํ…œ์„ ์กฐ์ž‘

ํ•ต์‹ฌ ์ฐจ๋ณ„์ : ์ €๋Š” AI๋ฅผ "๋‹ต๋ณ€๊ธฐ"๊ฐ€ ์•„๋‹ˆ๋ผ ์‚ฌ๋žŒ์˜ ํŒ๋‹จ์ด ํ•„์š”ํ•œ ์ง€์ ์„ ์•„๋Š” ์šด์˜ ์‹œ์Šคํ…œ์˜ ์ผ๋ถ€๋กœ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค. ์–ธ์ œ ์ž๋™ํ™”ํ•˜๊ณ , ์–ธ์ œ ๋ฉˆ์ถฐ ์‚ฌ๋žŒ์—๊ฒŒ ๋ฌผ์–ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์‹œ์Šคํ…œ ์•ˆ์— ๋…น์ž…๋‹ˆ๋‹ค.


๋งค์ผ ์“ฐ๋Š” AI ์šด์˜ (Daily AI Ops)

๋ ˆํฌ์ง€ํ† ๋ฆฌ๋กœ ๊ณต๊ฐœํ•˜์ง„ ์•Š์•˜์ง€๋งŒ ์‹ค์ œ๋กœ ๋งค์ผ ๋Œ๋ฆฌ๊ณ  ์žˆ๋Š” AI ์šด์˜ ์›Œํฌํ”Œ๋กœ์šฐ์ž…๋‹ˆ๋‹ค. ์ œ AI ํ™œ์šฉ์˜ ๋ฌด๊ฒŒ์ค‘์‹ฌ์€ ์‚ฌ์‹ค ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค โ€” ํ™”๋ คํ•œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ, ๋งค์ผ์˜ ์šด์˜ ์—…๋ฌด๋ฅผ AI์™€ ํ•จ๊ป˜ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹.

  • Notion MCP ร— Claude โ€” ๊ณต์ง€ยท์•ˆ๋‚ด ๋ฉ˜ํŠธ ์ƒ์„ฑ ๊ธฐ์กด์— ๋ฌธ์„œํ™”ํ•ด ๋‘” Notion DB๋ฅผ AI๊ฐ€ ์ง์ ‘ ์ฝ์–ด, ๊ณต์ง€ยท์•ˆ๋‚ด ๋ฉ˜ํŠธ๋ฅผ ๋งค๋ฒˆ ์ฒ˜์Œ๋ถ€ํ„ฐ ์“ฐ์ง€ ์•Š๊ณ  ์ถ•์ ๋œ ๋ฌธ์„œ๋ฅผ ๊ทธ๋Œ€๋กœ ์ดˆ์•ˆํ™”ํ•ฉ๋‹ˆ๋‹ค. ํ†ค๊ณผ ๋งฅ๋ฝ์„ ์œ ์ง€ํ•œ ์ฑ„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ๋น ๋ฅด๊ฒŒ ์‚ฐ์ถœ.
  • Intercom MCP ร— Slack โ€” ์œ ์ € ๋ฌธ์˜ ๋ฐ˜์ž๋™ ์ฒ˜๋ฆฌ ํ˜„์žฌ ์˜คํ”ˆ๋œ ๋ฌธ์˜๋ฅผ AI๊ฐ€ ์ฝ์–ด ๋งค์ผ Slack์—์„œ "๋ฌด์—‡์ด ๋‚จ์•˜๋Š”์ง€"๋ฅผ ์ž๋™ ์ •๋ฆฌํ•˜๊ณ , ๋‹ต๋ณ€ ์ดˆ์•ˆ๊นŒ์ง€ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋‹ด๋‹น์ž๋Š” ๊ฒ€ํ† ยท๋ณด์ • ํ›„ ์ง์ ‘ ์ „์†ก โ€” CSยท์œ ์ € ๊ด€๋ฆฌ๋ฅผ Human-in-the-loop ๋ฐ˜์ž๋™ํ™”๋กœ ์šด์˜.

ํ•ต์‹ฌ์€ "AI๊ฐ€ 1์ฐจ ์ฒ˜๋ฆฌ, ์‚ฌ๋žŒ์ด ํŒ๋‹จยทํ™•์ •". ๋†“์นœ ๋ฌธ์˜์™€ ๋งค๋ฒˆ ๋‹ค์‹œ ์“ฐ๋Š” ๋ฉ˜ํŠธ๋ผ๋Š” ์šด์˜ ํ†ต์ฆ์„ ๋งค์ผ ์ค„์ž…๋‹ˆ๋‹ค.


๐Ÿš€ ์ฃผ์š” ํ”„๋กœ์ ํŠธ

1. ClientBrief โ€” ๋น„๊ฐœ๋ฐœ์ž์šฉ ์ฃผ๊ฐ„ ๊ฐœ๋ฐœ ๋ฆฌํฌํŠธ SaaS

GitHub PR ยท Issue ยท Review ยท Comment ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ฐœ๋ฐœ์ž๋„ ์ฝ๊ธฐ ์‰ฌ์šด ์ฃผ๊ฐ„ ๋ฆฌํฌํŠธ๋กœ ์ž๋™ ์ƒ์„ฑํ•˜๊ณ , ๊ฒ€ํ†  โ†’ ์Šน์ธ โ†’ ์ด๋ฉ”์ผ ๋ฐœ์†ก๊นŒ์ง€ ์ฒ˜๋ฆฌํ•˜๋Š” SaaS.

  • ์Šคํƒ: Next.js 14 (App Router) ยท React 18 ยท TypeScript 5 ยท PostgreSQL ยท Prisma 5 ยท NextAuth.js ยท Tailwind ยท Zod
  • ํ•ต์‹ฌ ๊ธฐ๋Šฅ: GitHub OAuth ์—ฐ๋™ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ยท ๋ฏผ๊ฐ์ •๋ณด ์ž๋™ ๋งˆ์Šคํ‚น([REDACTED]) ยท AI 7์„น์…˜ ๋ฆฌํฌํŠธ ์ƒ์„ฑ ยท draft โ†’ approved โ†’ sent ์Šน์ธ ์›Œํฌํ”Œ๋กœ์šฐ ยท Resend ์ด๋ฉ”์ผ ๋ฐœ์†ก ยท ๋ฉ€ํ‹ฐ ํ…Œ๋„ŒํŠธ ๊ตฌ์กฐ
  • ์™œ ์˜๋ฏธ ์žˆ๋‚˜: "์ด๋ฒˆ ์ฃผ ๋ญ ํ–ˆ๋Š”์ง€"๋ฅผ ๋งค์ฃผ ์†์œผ๋กœ ์ •๋ฆฌํ•˜๋˜ ์‹œ๊ฐ„์„ ์ œ๊ฑฐ. ํ’€์Šคํƒ SaaS๋ฅผ ํ˜ผ์ž ์„ค๊ณ„ยท๊ตฌํ˜„ํ•œ ๊ฒฐ๊ณผ๋ฌผ.

๐Ÿ”— clientbrief

2. Web QA ์ž๋™ํ™” ๋„๊ตฌ โ€” Claude Code Judge ํšŒ๊ท€ ํƒ์ง€ ํŒŒ์ดํ”„๋ผ์ธ

Playwright + TypeScript ๊ธฐ๋ฐ˜ ์žฌ์‚ฌ์šฉ QA ๋„๊ตฌ. ๋ฒ”์šฉ ํ—ฌ์Šค์ฒดํฌ๋ถ€ํ„ฐ ๋นŒ๋“œ ๊ฐ„ ํšŒ๊ท€๋ฅผ ์ž๋™ ํƒ์ง€ํ•˜๊ณ  Claude๋กœ ๋…ธ์ด์ฆˆ๋ฅผ ๊ฑธ๋Ÿฌ๋‚ด๋Š” ํŒŒ์ดํ”„๋ผ์ธ๊นŒ์ง€.

  • ์Šคํƒ: Playwright ยท TypeScript ยท Claude Code (Judge) ยท TUI ๋ฉ”๋‰ด ๋Ÿฐ์ฒ˜
  • 2๊ณ„์ธต ๊ตฌ์กฐ: โ‘  ๋ฒ”์šฉ QA(smoke/regression/crawler/visual/a11y) โ€” QA_BASE_URL๋งŒ ๋ฐ”๊พธ๋ฉด ์–ด๋–ค ์‚ฌ์ดํŠธ๋“  ์ ์šฉ โ‘ก ํšŒ๊ท€ ํƒ์ง€ โ€” ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์กฐ์ ์œผ๋กœ ์Šค๋ƒ…์ƒท(์ ‘๊ทผ์„ฑ ํŠธ๋ฆฌยทAPI ์Šคํ‚ค๋งˆยท์ฝ˜์†”/๋„คํŠธ์›Œํฌยทํ”ฝ์…€)ํ•˜๊ณ  baseline๊ณผ ๋น„๊ต, ์˜์‹ฌ ์ผ€์ด์Šค๋งŒ Claude ํŒ์ •, CI์— ์ข…๋ฃŒ ์ฝ”๋“œ(0/1/2) ๋ฐ˜ํ™˜
  • ์™œ ์˜๋ฏธ ์žˆ๋‚˜: ์ˆ˜๋™ QA๋ฅผ ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ์šด์˜ ํ’ˆ์งˆ ๊ฒŒ์ดํŠธ๋กœ ์ „ํ™˜. AI๋ฅผ ํšŒ๊ท€ ํƒ์ง€์˜ ํŒ๋‹จ ๋ ˆ์ด์–ด๋กœ ํ†ตํ•ฉ.

๐Ÿ”— qa-automation (๋น„๊ณต๊ฐœ / ๋ฐ๋ชจ ์š”์ฒญ ๊ฐ€๋Šฅ)

3. Intercom Daily Digest Routine โ€” AI CS ์šด์˜ ๋ฃจํ‹ด

๋งค์ผ ์˜ค์ „ Intercom์˜ ์—ด๋ฆฐ ๋Œ€ํ™”๋ฅผ ์š”์•ฝยท๋ถ„๋ฅ˜ํ•ด Slack์— ๋ฐœํ–‰ํ•˜๋Š” Claude Code Routine.

  • ์Šคํƒ: Claude Code Routines (Anthropic ๊ด€๋ฆฌํ˜•) ยท Intercom MCP ยท Slack MCP ยท Sonnet 4.6
  • ํ•ต์‹ฌ: ๋ฏธํ• ๋‹น/๋ด‡ ๋Œ€ํ™” ํ•„ํ„ฐ๋ง โ†’ ์šฐ์„ ์ˆœ์œ„ ๋ถ„๋ฅ˜(๐Ÿ”ด๊ธด๊ธ‰/๐ŸŸ ์กฐ์น˜ํ•„์š”/๐ŸŸก๋Œ€๊ธฐ/๐ŸŸข๋ชจ๋‹ˆํ„ฐ) โ†’ Slack Block Kit ๋ฉ”์‹œ์ง€
  • ์—”์ง€๋‹ˆ์–ด๋ง ํŒ๋‹จ: AWS Lambda + EventBridge์—์„œ Routine์œผ๋กœ ์ด๊ด€ โ†’ ์šด์˜ ๋ถ€๋‹ดโ†“, ๋ณด์•ˆโ†‘(๋ฃจํŠธ ํฌ๋ฆฌ๋ด์…œยท์ˆ˜๋™ ๋ฐฐํฌ ์ œ๊ฑฐ)

๐Ÿ”— intercom-digest-routine

4. ์šด๋ช…์žฌํŒ์†Œ (Court of Destiny) โ€” AI ํŒ๊ด€ ๋ฐ”์ด๋Ÿด ๋ชจ๋ฐ”์ผ ๊ฒŒ์ž„

ํ™ฉ๋‹นํ•œ ์œ„๊ธฐ ์ƒํ™ฉ + ๋ฌผํ’ˆ 2๊ฐœ๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ƒ์กด ๊ณ„ํš์„ ์“ฐ๊ณ , AI ํŒ๊ด€์ด ๋“œ๋ผ๋งˆํ‹ฑํ•˜๊ฒŒ ์ƒ์‚ฌ๋ฅผ ํŒ์ •ํ•˜๋Š” ์ผํšŒ์„ฑ ๋ฐ”์ด๋Ÿด ๋ชจ๋ฐ”์ผ ๊ฒŒ์ž„. Google Play ๋น„๊ณต๊ฐœ ํ…Œ์ŠคํŠธ ๊ฐ€๋™ ์ค‘.

  • ์Šคํƒ: Expo (React Native) ยท Supabase (Edge Functions ยท Postgres ยท ์ต๋ช… Auth) ยท Gemini flash-lite (provider ์ถ”์ƒํ™” โ€” Anthropic Haiku๋กœ ์Šค์™‘ ๊ฐ€๋Šฅ) ยท AdMob ยท RevenueCat
  • ๐Ÿ”ฅ AI ๋น„์šฉ ์—”์ง€๋‹ˆ์–ด๋ง (ํ•ต์‹ฌ): "ํŒ๋‹น ํ‘์ž"(๊ด‘๊ณ ์ˆ˜์ต > AI ์›๊ฐ€)๋ฅผ ์œ„ํ•ด AI ํ˜ธ์ถœ ๋‹จ๊ฐ€๋ฅผ 0์›์— ๊ทผ์ ‘ํ•˜๊ฒŒ ๋ถ•๊ดด์‹œํ‚ค๋Š” ๋‹ค๊ณ„์ธต ๋ผ์šฐํŒ… ์„ค๊ณ„ โ€” โ‘  ํŒ๋…๋ถˆ๊ฐ€ ์ž…๋ ฅ ์ฐจ๋‹จ โ†’ โ‘ก verdict_cache ํžˆํŠธ โ†’ โ‘ข ๋ผ์ด๋ธŒ AI ํ˜ธ์ถœ(12์ดˆ ํƒ€์ž„์•„์›ƒ) โ†’ โ‘ฃ ์žฅ์•  ์‹œ ๋‹ต์•ˆ ๋ฃฐ๋ฒ ์ด์Šค๋กœ ๊ฒฐ๊ณผ ์ •ํ•ฉํ•œ ํ”„๋ฆฌ์…‹ 0์› ๊ฐ•๋“ฑ โ†’ โ‘ค ์ตœํ›„ ์•ฑ๋‚ด ๋ฃฐ๋ฒ ์ด์Šค. ์–ด๋””์„œ ๋ง‰ํ˜€๋„ ๊ฒŒ์ž„์€ ๋ฉˆ์ถ”์ง€ ์•Š์Œ.
  • ๋ฌด์ธ ์šด์˜ ์„ค๊ณ„: ์ฝ˜ํ…์ธ =DB / ๋กœ์ง=OTA / ๋„ค์ดํ‹ฐ๋ธŒ=๊ณ ์ • 3๋‹จ ๋ถ„๋ฆฌ๋กœ ์Šคํ† ์–ด ์žฌ์‹ฌ์‚ฌ ์ตœ์†Œํ™” ยท ์„œ๋ฒ„ ๊ถŒ์œ„ ํ† ํฐ ์บก์œผ๋กœ ๋ฐ”์ด๋Ÿด ์ ์ž ๋ฐฉ์–ด ยท ์‚ฌ๊ฑด 683๊ฑด ์šด์˜ ์ค‘
  • ์™œ ์˜๋ฏธ ์žˆ๋‚˜: AI๋ฅผ "์“ฐ๋Š”" ๋‹จ๊ณ„๋ฅผ ๋„˜์–ด AI ๋‹จ๊ฐ€๋ฅผ ์ œํ’ˆ ๊ฒฝ์ œ์„ฑ์— ๋งž์ถฐ ์„ค๊ณ„. ์•ฑยท๋ฐฑ์—”๋“œยทDBยทํ† ํฐ๊ฒฝ์ œยท๊ด‘๊ณ ยท๊ฒฐ์ œยท์Šคํ† ์–ด ๋ฐฐํฌ๊นŒ์ง€ ํ˜ผ์ž end-to-end ์™„์„ฑ.

๐Ÿ”— Court-of-Destiny (๋น„๊ณต๊ฐœ / ๋ฐ๋ชจ ์š”์ฒญ ๊ฐ€๋Šฅ)

5. Tap-to-Sync โ€” ์ˆํผ ์ž๋ง‰ ์‹ฑํฌ ์ž๋™ํ™” MVP

์ˆํผ ํŽธ์ง‘์ž๊ฐ€ Tap ๊ธฐ๋ฐ˜ UX + ์ž๋™ ๋ณด์ • ์—”์ง„์œผ๋กœ ์ž๋ง‰ ์‹ฑํฌ ์‹œ๊ฐ„์„ ํฌ๊ฒŒ ์ค„์ด๋Š” Web MVP.

  • ์Šคํƒ: React ยท TypeScript ยท Vite ยท Tailwind CSS
  • ํ•ต์‹ฌ: ์žฌ์ƒ ์ค‘ Tap/๋‹จ์ถ•ํ‚ค๋กœ timestamp ๋“ฑ๋ก โ†’ monotonic ๋ณด์žฅยทminGapยทsmoothingยท๊ธธ์ด ๊ธฐ๋ฐ˜ ๋ถ„๋ฐฐ ๋ณด์ • โ†’ SRT / LRC / CapCut CSV 3์ข… export
  • ์™œ ์˜๋ฏธ ์žˆ๋‚˜: ์ˆ˜๋™ ์ฐฝ์ž‘ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ง‘์ค‘๋œ ์ƒ์‚ฐ์„ฑ ๋„๊ตฌ๋กœ ์ „ํ™˜ํ•œ ์ œํ’ˆ ์‚ฌ๊ณ ์˜ ์˜ˆ์‹œ.

๐Ÿ”— taptosync

6. Live Archiver โ€” ์–ด๋ ค์šด CLI๋ฅผ ๋‚ด ์ž…๋ง›๋Œ€๋กœ ๋งŒ๋“  yt-dlp GUI

๋งํฌ๋งŒ ๋ถ™์—ฌ๋„ฃ๊ณ  "์‹œ์ž‘" ๋ˆ„๋ฅด๋ฉด ๋ผ์ด๋ธŒ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์•„์นด์ด๋น™ํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ € GUI. ๊ฐ•๋ ฅํ•˜์ง€๋งŒ ์“ฐ๊ธฐ ์–ด๋ ค์šด yt-dlp CLI๋ฅผ, ๋‚ด๊ฐ€ ์‹ค์ œ๋กœ ์“ฐ๊ธฐ ํŽธํ•œ ๋„๊ตฌ๋กœ ์ง์ ‘ ์žฌ์„ค๊ณ„ํ•œ ๊ฒฐ๊ณผ๋ฌผ.

  • ์Šคํƒ: Python ยท JavaScript ยท Whisper(faster-whisper) ยท yt-dlp / ffmpeg ๋ž˜ํ•‘
  • ํ•ต์‹ฌ: yt-dlp/ffmpeg๋ฅผ OS์— ๋งž๊ฒŒ ์ž๋™ ์„ค์น˜(์ œ๋กœ ์…‹์—…) ยท YouTube --live-from-start๋กœ ๋ผ์ด๋ธŒ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ˆ˜์‹  ยท ํŠธ์œ„์น˜ยท์น˜์ง€์งยทX ๋“ฑ 1700+ ์‚ฌ์ดํŠธ ยท ์ •์ง€/๋ณต๊ตฌ ์กฐ๊ฐ ์ฒ˜๋ฆฌ ยท faster-whisper ์ „์‚ฌ(GPUโ†’CPU ํด๋ฐฑยท์ด์–ดํ•˜๊ธฐ โ†’ SRT/TXT)
  • ์™œ ์˜๋ฏธ ์žˆ๋‚˜: "๋‚ด๊ฐ€ ์“ฐ๊ธฐ ์–ด๋ ค์šด CLI๋ฅผ ๋‚ด ์›Œํฌํ”Œ๋กœ์šฐ์— ๋งž๊ฒŒ GUI๋กœ ๋ฐ”๊พผ๋‹ค" โ€” ๋„๊ตฌ์˜ ์‚ฌ์šฉ์„ฑ์„ ์ง์ ‘ ์„ค๊ณ„ํ•˜๋Š” developer-experience / UX ๊ฐ๊ฐ์˜ ์ฆ๊ฑฐ.

๐Ÿ”— ytdlp-live-gui

๊ทธ ์™ธ: Crypto Briefing Bot โ€” ์‹œ์žฅ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ โ†’ Claude API ํ•ด์„ โ†’ Telegram ์ž๋™ ๋ฐœ์†ก ํŒŒ์ดํ”„๋ผ์ธ (briefing-bot) ยท Web Screenshot Autobot โ€” ๋กœ๊ทธ์ธ ์ง€์› BFS ํฌ๋กค๋Ÿฌ๋กœ ์ „์ฒดํ™”๋ฉด ์Šคํฌ๋ฆฐ์ƒท ์ž๋™ ์ €์žฅ (auto-screenshot-bot)


โš™๏ธ ๊ธฐํƒ€ ์ž๋™ํ™” & ๋ฐ์ดํ„ฐ ๋„๊ตฌ

์œ„ ๋งค์ผ ์“ฐ๋Š” AI ์šด์˜ ์™ธ์—, ์šด์˜ ํ˜„์žฅ์—์„œ ์ง์ ‘ ๋งŒ๋“ค์–ด ์“ฐ๋Š” ์ž‘์€ ๋„๊ตฌ๋“ค์ž…๋‹ˆ๋‹ค.

๋ ˆ์–ด ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ (SQLite)

  • ๋ ˆ์–ด(rare) ๋ฐ์ดํ„ฐ๋ฅผ SQLite๋กœ ๊ฐ€๋ณ๊ฒŒ ์ƒ์„ฑยท๊ด€๋ฆฌ โ€” ๋ฌด๊ฑฐ์šด DB ์ธํ”„๋ผ ์—†์ด ๋กœ์ปฌ์—์„œ ์ฆ‰์‹œ ์กฐํšŒยท๊ฐฑ์‹  ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ด์–ด ๊ตฌ์ถ•.
  • ์™œ ์˜๋ฏธ ์žˆ๋‚˜: ์ž‘์€ ๋ฐ์ดํ„ฐ์…‹์— ๊ณผํ•œ ์ธํ”„๋ผ๋ฅผ ๋ถ™์ด์ง€ ์•Š๋Š” ์ ์ • ๊ธฐ์ˆ  ์„ ํƒ ๊ฐ๊ฐ.

๊ฑฐ๋ž˜์†Œ/DEX ์ž์‚ฐ ์ง‘๊ณ„ ์ž๋™ํ™” (Google Apps Script)

  • Google Apps Script๋กœ ๊ฑฐ๋ž˜์†Œ API์™€ DEX RPC ์„œ๋ฒ„์— ์ ‘๊ทผํ•ด ์ž์‚ฐ ์ž”๊ณ ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ , Google ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ์— ์ž๋™์œผ๋กœ ์ •๋ฆฌ.
  • ์™œ ์˜๋ฏธ ์žˆ๋‚˜: ๋ณ„๋„ ์„œ๋ฒ„ ์—†์ด ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ๋งŒ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๋ฌด์ธํ”„๋ผ ์ž์‚ฐ ๋Œ€์‹œ๋ณด๋“œ โ€” CEXยท์˜จ์ฒด์ธ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ์‹œํŠธ์—์„œ ํ†ตํ•ฉ ๊ด€๋ฆฌ.

๐Ÿงฐ ํ•ต์‹ฌ ์—ญ๋Ÿ‰

AI & ์ž๋™ํ™” Claude Code (Judge/Routines) ยท Claude API ยท Gemini ยท OpenAI API ยท Whisper ์ „์‚ฌ ยท MCP (NotionยทIntercomยทSlack) ยท AI ๋น„์šฉ ์ตœ์ ํ™”ยท๋‹ค๊ณ„์ธต ๋ผ์šฐํŒ… ยท ํ”„๋กฌํ”„ํŠธ ๊ธฐ๋ฐ˜ ํ”„๋กœ์„ธ์Šค ์ž๋™ํ™” ยท Human-in-the-loop ์„ค๊ณ„

ํ”„๋กœ๋•ํŠธ & ๊ทธ๋กœ์Šค ์˜ต์Šค ์บ ํŽ˜์ธ ์šด์˜ ยท ์œ ์ € ํ–‰๋™ ๋ถ„์„ ยท CRM/CS ์›Œํฌํ”Œ๋กœ์šฐ ยท CS ๋ฌธ์˜ ๋ฐ˜์ž๋™ ์‘๋Œ€ ยท ํผ๋„ ๋ชจ๋‹ˆํ„ฐ๋ง ยท ๊ทธ๋กœ์Šค ์‹คํ—˜ ์šด์˜ ยท ์ปค๋ฎค๋‹ˆํ‹ฐ ์ž๋™ํ™”

๊ธฐ์ˆ  ์Šคํƒ TypeScript ยท Python ยท React / Next.js ยท React Native / Expo ยท Node.js ยท Supabase (Edge FunctionsยทPostgres) ยท PostgreSQL / Prisma ยท SQLite ยท Google Apps Script ยท Playwright ยท Docker ยท GCP ยท REST / Webhook ยท Slack / Telegram / Intercom / Notion ์—ฐ๋™

๋ฐ์ดํ„ฐ & ์‹ ํ˜ธ Amplitude ยท ์šด์˜ ๋ฉ”ํŠธ๋ฆญ ยท QA ์‹ ํ˜ธ ์„ค๊ณ„ ยท ์‹œ์žฅ ๋ฐ์ดํ„ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ยท ๊ฑฐ๋ž˜์†Œ API / DEX RPC ์ž์‚ฐ ์ง‘๊ณ„ ยท ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ ์ž๋™ํ™” ยท ๋ฆฌํฌํŒ… ํŒŒ์ดํ”„๋ผ์ธ


๐Ÿ’ญ ์ผํ•˜๋Š” ๋ฐฉ์‹

์ข‹์€ ์ž๋™ํ™” ์‹œ์Šคํ…œ์€ ์ฝ”๋“œ ๊ทธ ์ด์ƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ˆ„๊ฐ€ ์“ฐ๋Š”๊ฐ€
  • ์–ด๋–ค ์˜์‚ฌ๊ฒฐ์ •์„ ๋•๋Š”๊ฐ€
  • ์‹คํŒจ๋Š” ์–ด๋–ค ๋ชจ์Šต์ธ๊ฐ€
  • ์‚ฌ๋žŒ์€ ๊ฒฐ๊ณผ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ฒ€ํ† ํ•˜๋Š”๊ฐ€
  • ์ž๋™ํ™”๊ฐ€ ์–ธ์ œ ๋ฉˆ์ถ”๊ณ  ํŒ๋‹จ์„ ์š”์ฒญํ•ด์•ผ ํ•˜๋Š”๊ฐ€

๊ทธ๋ž˜์„œ ์ €๋Š” ์šด์˜์„ ์ดํ•ดํ•˜๋Š” ๊ฐœ๋ฐœ(operation-aware development) ์„ ์ง€ํ–ฅํ•ฉ๋‹ˆ๋‹ค โ€” ์‹ค์ œ ํŒ€ ์›Œํฌํ”Œ๋กœ์šฐ ์•ˆ์—์„œ ๋™์ž‘ํ•˜๋Š” ์ž‘์€ ์‹œ์Šคํ…œ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ.

ํ•œ ์ค„ ์š”์•ฝ: ์ €๋Š” ํ”„๋กœ๋•ํŠธยท๊ทธ๋กœ์Šค ํŒ€์ด ์ˆ˜๋™ ๋ณ‘๋ชฉ ์—†์ด ๋” ๋น ๋ฅด๊ฒŒ ์›€์ง์ด๋„๋ก, AI ๊ธฐ๋ฐ˜ ์šด์˜ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.


๐Ÿ“ซ ์—ฐ๋ฝ์ฒ˜



๐Ÿ‘‹ Hi, I'm Zuna

AI Automation Builder ยท Product / Growth Ops Engineer

I build real operational systems with AI โ€” Claude in particular โ€” at their core. My focus is turning messy, repetitive operations into measurable, reusable automation.

My work sits at the intersection of product, growth, operations, and engineering โ€” the space where business teams need a working tool faster than a normal product cycle can deliver.

Find repetitive operational pain โ†’ design a small system โ†’ ship fast โ†’ validate with real usage โ†’ improve from signals.


๐Ÿค– What I've Built With Claude (the core story)

Not "I tried an AI" โ€” I use Claude as the decision engine in production workflows and the core component of operational automation.

How I used it Where Value created
Claude Code Judge QA regression pipeline routes only suspicious cases to a Claude session for the final verdict Solves automation's classic problem โ€” filtering noise/false positives without a human
Claude Code Routines Summarizes Intercom conversations and posts to Slack on a daily schedule Always-on AI ops with zero serverless infra (migrated off AWS Lambda)
AI cost engineering Court of Destiny โ€” multi-tier routing (cache ยท presets ยท rule-based fallback) collapses AI call cost toward zero Designed an AI economy that stays "profitable per play" (provider-abstracted model swap)
Claude API Turns crypto market data into expert-level briefings Data ingest + AI interpretation + auto-delivery as one content pipeline
Notion MCP Reads my existing documented Notion DBs to instantly draft announcements & user-facing copy Reuses scattered docs as comms assets โ€” no rewriting
Intercom + Slack MCP Auto-triages open tickets into Slack daily ("what's still open?") and drafts replies on the spot Semi-automates CS / user ops โ€” humans just review & confirm
MCP (Model Context Protocol) Connects Intercom, Slack, Notion, etc. directly to the AI The AI operates real business systems without glue code

The differentiator: I design AI not as an "answer box" but as part of an operational system that knows where human judgment is needed โ€” when to automate, and when to stop and ask.


Daily AI Ops

Not published as repos, but the AI workflows I actually run every day. This is where the center of gravity of my AI usage really is โ€” not flashy projects, but handling daily operations with AI.

  • Notion MCP ร— Claude โ€” drafting announcements & user-facing copy The AI reads my already-documented Notion DBs and drafts straight from accumulated docs instead of starting from scratch each time โ€” producing comms fast while keeping tone and context.
  • Intercom MCP ร— Slack โ€” semi-automated ticket handling The AI reads currently open tickets and auto-summarizes "what's still open" in Slack every day, drafting replies too. An operator reviews, edits, and sends โ€” running CS / user management as human-in-the-loop semi-automation.

The principle: "AI does the first pass, the human judges and confirms." It shaves the daily ops pains of missed tickets and rewritten copy โ€” every day.


๐Ÿš€ Featured Projects

1. ClientBrief โ€” Weekly Dev Report SaaS for Non-Engineers

Auto-generates non-engineer-friendly weekly reports from GitHub PR ยท Issue ยท Review ยท Comment data, with a review โ†’ approve โ†’ email-send flow.

  • Stack: Next.js 14 (App Router) ยท React 18 ยท TypeScript 5 ยท PostgreSQL ยท Prisma 5 ยท NextAuth.js ยท Tailwind ยท Zod
  • Highlights: GitHub OAuth ingestion ยท automatic secret masking ([REDACTED]) ยท AI 7-section report generation ยท draft โ†’ approved โ†’ sent state machine ยท Resend email delivery ยท multi-tenant org model
  • Why it matters: Removes the weekly manual "what did we ship?" write-up. A full-stack SaaS designed and built solo.

๐Ÿ”— clientbrief

2. Web QA Automation Tool โ€” Claude Code Judge Regression Pipeline

A reusable Playwright + TypeScript QA toolkit, from generic health checks to a pipeline that auto-detects cross-build regressions and filters noise with Claude.

  • Stack: Playwright ยท TypeScript ยท Claude Code (Judge) ยท TUI launcher
  • Two layers: โ‘  Generic QA (smoke/regression/crawler/visual/a11y) โ€” point QA_BASE_URL at any site โ‘ก Regression detection โ€” structurally snapshots each page (a11y tree ยท API schema ยท console/network ยท pixels) vs. baseline, routes only suspect cases to Claude, returns CI exit codes (0/1/2)
  • Why it matters: Turns manual QA into a repeatable operational quality gate with AI as the judgment layer.

๐Ÿ”— qa-automation (private โ€” demo available on request)

3. Intercom Daily Digest Routine โ€” AI CS Ops Routine

A Claude Code Routine that summarizes and triages open Intercom conversations into Slack every morning.

  • Stack: Claude Code Routines (Anthropic-managed) ยท Intercom MCP ยท Slack MCP ยท Sonnet 4.6
  • Core: filters unassigned/bot chats โ†’ priority triage (๐Ÿ”ดurgent/๐ŸŸ action/๐ŸŸกpending/๐ŸŸขmonitor) โ†’ Slack Block Kit message
  • Engineering call: migrated from AWS Lambda + EventBridge to Routines โ†’ lower ops overhead, better security (no root creds, no manual deploy)

๐Ÿ”— intercom-digest-routine

4. Court of Destiny โ€” AI-Judge Viral Mobile Game

Given an absurd crisis + two items, the player writes a survival plan and an AI judge dramatically rules life or death. A one-shot viral mobile game, currently in Google Play closed testing.

  • Stack: Expo (React Native) ยท Supabase (Edge Functions ยท Postgres ยท anon Auth) ยท Gemini flash-lite (provider-abstracted โ€” swappable to Anthropic Haiku) ยท AdMob ยท RevenueCat
  • ๐Ÿ”ฅ AI cost engineering (the core): To stay "profitable per play" (ad revenue > AI cost), I designed multi-tier routing that collapses AI call cost toward zero โ€” โ‘  block unreadable input โ†’ โ‘ก verdict_cache hit โ†’ โ‘ข live AI call (12s timeout) โ†’ โ‘ฃ on failure, rule-based evaluation downgrades to an answer-consistent preset at $0 โ†’ โ‘ค last-resort in-app rules. The game never stalls, wherever it breaks.
  • Zero-ops design: content=DB / logic=OTA / native=frozen three-way split minimizes store re-reviews ยท server-authoritative token caps defend against a viral-driven loss ยท 683 live scenarios
  • Why it matters: Beyond "using" AI โ€” I engineer AI unit cost to fit product economics. Built the app, backend, DB, token economy, ads, payments, and store release solo, end-to-end.

๐Ÿ”— Court-of-Destiny (private โ€” demo available on request)

5. Tap-to-Sync โ€” Short-form Subtitle Sync MVP

A web MVP that slashes subtitle-syncing time for short-form editors via a tap-based UX + auto-correction engine.

  • Stack: React ยท TypeScript ยท Vite ยท Tailwind CSS
  • Core: tap/hotkey timestamps during playback โ†’ monotonic guarantee, minGap, smoothing, length-based distribution โ†’ export to SRT / LRC / CapCut CSV
  • Why it matters: Product thinking that converts a manual creative workflow into a focused productivity tool.

๐Ÿ”— taptosync

6. Live Archiver โ€” a yt-dlp GUI rebuilt to fit my own workflow

Paste a link, hit "Start," and it archives a livestream from the very beginning โ€” a browser GUI for the powerful-but-painful yt-dlp CLI, redesigned into a tool I actually enjoy using.

  • Stack: Python ยท JavaScript ยท Whisper (faster-whisper) ยท yt-dlp / ffmpeg wrapping
  • Core: auto-installs yt-dlp/ffmpeg per OS (zero setup) ยท YouTube --live-from-start capture ยท 1700+ sites (Twitch, Chzzk, X, โ€ฆ) ยท stop/resume segment recovery ยท faster-whisper transcription (GPUโ†’CPU fallback ยท resumable โ†’ SRT/TXT)
  • Why it matters: "I take a CLI I find hard to use and reshape it into a GUI that fits my workflow" โ€” evidence of developer-experience / UX instinct, designing usability firsthand.

๐Ÿ”— ytdlp-live-gui

Also: Crypto Briefing Bot โ€” collects market data โ†’ interprets via the Claude API โ†’ auto-sends to Telegram (briefing-bot) ยท Web Screenshot Autobot โ€” login-aware BFS crawler that auto-captures full-page screenshots (auto-screenshot-bot)


โš™๏ธ Other Automation & Data Tools

Beyond the Daily AI Ops above, small tools I built and use in operations.

Rare-Data Management (SQLite)

  • Spins up and manages rare datasets lightly with SQLite โ€” an instantly queryable local data layer with no heavy DB infra.
  • Why it matters: A sense for right-sized tech โ€” not bolting overkill infrastructure onto small datasets.

Exchange/DEX Asset Aggregation (Google Apps Script)

  • Uses Google Apps Script to hit exchange APIs and DEX RPC endpoints, pull asset balances, and auto-organize them into Google Sheets.
  • Why it matters: An infra-free asset dashboard running entirely in a spreadsheet โ€” CEX + on-chain data unified in one sheet.

๐Ÿงฐ Core Capabilities

AI & Automation โ€” Claude Code (Judge/Routines) ยท Claude API ยท Gemini ยท OpenAI API ยท Whisper transcription ยท MCP (NotionยทIntercomยทSlack) ยท AI cost optimization / multi-tier routing ยท prompt-based process automation ยท human-in-the-loop design

Product & Growth Ops โ€” campaign operations ยท user behavior analysis ยท CRM/CS workflows ยท semi-automated CS responses ยท funnel monitoring ยท growth experiments ยท community automation

Technical โ€” TypeScript ยท Python ยท React / Next.js ยท React Native / Expo ยท Node.js ยท Supabase (Edge FunctionsยทPostgres) ยท PostgreSQL / Prisma ยท SQLite ยท Google Apps Script ยท Playwright ยท Docker ยท GCP ยท REST / Webhooks ยท Slack / Telegram / Intercom / Notion integrations

Data & Signals โ€” Amplitude ยท operational metrics ยท QA signal design ยท market data monitoring ยท exchange API / DEX RPC asset aggregation ยท spreadsheet automation ยท reporting pipelines


๐Ÿ’ญ How I Think

A good automation system is more than code. It has to understand:

  • who uses it
  • what decision it supports
  • what failure looks like
  • how humans review the result
  • when automation should stop and ask for judgment

That's why I aim for operation-aware development โ€” small systems that work inside real team workflows.

One-liner: I build AI-powered operational systems that help product and growth teams move faster with fewer manual bottlenecks.


๐Ÿ“ซ Contact

Popular repositories Loading

  1. BranchExample BranchExample Public

    1

  2. secondProject secondProject Public

    ๋‘๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค

  3. go go Public

    ๊ณ ?

    Go

  4. gitIgnoreTest gitIgnoreTest Public

  5. ZunaTtang ZunaTtang Public

  6. SourceTreeTest SourceTreeTest Public