PRODUCT ENGINEER · AI AUTOMATION · SERVICE BUILDER

Todari

3D PROJECT DISPENSER LOADING

ABOUT TODARI

제품의 불확실성을
구조화하고,
운영 가능한 시스템으로 완성합니다.

실시간·데이터 시스템과 AI 개발 하네스를 설계하고 운영하면서, 작은 불편과 호기심도 직접 제품으로 검증하는 Product Engineer 토다리(Todari)입니다.

PO로 문제와 성공 기준을 정의하고, 도메인 흐름·상태 전이·API 계약을 직접 제품으로 구현합니다. 출시 후에는 검색 발견성, 사용자 행동, 장애와 배포 신호를 관측해 다음 제품 판단과 개선으로 되돌립니다.

12

출시·운영 제품

1,900+

월 활성 크리에이터

4,800+

연동 인스타그램 계정

3.8만+

월 자동 DM 실행

크리에이터·계정·DM 지표는 Forcletter 운영 실측 (2026-08)

  1. 01

    Product Architecture

    불명확한 요구사항을 도메인 흐름과 상태 전이로 구조화하고, 제품·클라이언트·서버의 책임 경계를 설계합니다.

  2. 02

    Frontend Systems

    인터랙션 구현을 넘어 재사용 가능한 UI 추상화, 성능, 접근성, 테스트 가능한 상태 구조를 함께 다룹니다.

  3. 03

    Realtime & Data

    WebSocket·Web Audio·외부 API·데이터 수집처럼 시간과 정합성이 중요한 흐름을 안정적인 파이프라인으로 만듭니다.

  4. 04

    Product Operations & Growth

    출시 이후 검색 발견성, 사용자 행동, 운영 오류를 함께 관측합니다. SEO·GEO·GA4·Search Console·서치어드바이저의 신호를 다음 제품 판단과 개선으로 연결합니다.

WHAT I OWN · PRODUCT OPERATING LOOP

출시가 끝이 아니라,
다음 판단이 시작되도록 만듭니다.

PO로 문제와 우선순위를 정의하고, 개발자로 제품을 출시하며, SEO·GEO·GA4·Search Console·네이버 서치어드바이저의 신호로 발견 가능성과 사용자 흐름을 계속 개선합니다.

  1. 01DEFINE

    문제와 성공 기준

    PO 경험을 바탕으로 고객·사업 문제를 가설과 KPI로 바꾸고, 지금 검증할 범위와 우선순위를 정합니다.

    ProblemHypothesisKPI
  2. 02SHIP

    직접 제품으로 출시

    UX와 도메인 흐름부터 클라이언트·서버·데이터·배포까지 연결해 실제 사용 가능한 제품으로 만듭니다.

    UXSystemDelivery
  3. 03MEASURE

    발견성과 행동을 관측

    GA4의 이벤트·퍼널, Search Console·서치어드바이저의 색인·검색 신호, GEO의 AI 답변·인용 흐름을 함께 봅니다.

    GA4SEO · GEOSearch Signals
  4. 04IMPROVE

    다음 판단으로 환류

    검색 노출·제품 퍼널·운영 오류에서 얻은 신호를 백로그, 실험, 자동화로 바꿔 다음 개선까지 이어갑니다.

    BacklogExperimentAutomation

OPERATING EVIDENCE 01 · GEO DASHBOARD

검색과 AI 답변 속 브랜드 가시성을 행동으로 바꿉니다.

검색 노출과 AI 답변의 인용·출처·질문별 성과를 정규화하고, 상태 → 원인 → 다음 행동으로 이어지는 모니터링 흐름을 설계했습니다.

OPERATING EVIDENCE 02 · TODARI.DEV

제품·검색·배포 신호를 한 운영 루프로 연결합니다.

메타데이터·canonical·JSON-LD·sitemap, GA 이벤트, Search Console·서치어드바이저의 색인과 검색 가시성, 배포·오류 신호를 함께 관리하며 개선점을 찾습니다.

HOW I SCALE IT · AI-NATIVE AUTOMATION

AI Development
Harness

Claude·Codex가 코드를 생성하는 데서 끝나지 않도록, 레포 컨텍스트 주입부터 검증·배포·운영 신호까지 하나의 자동화 흐름으로 연결했습니다.

AI → AUTOMATION → OPERATIONS

  1. 01CONTEXT
  2. 02AI BUILD
  3. 03VERIFY
  4. 04CI / CD
  5. 05SMOKE
  6. 06OPS

01 · AI DEVELOPMENT HARNESS

세션 시작 시 repo map·git 상태·프로젝트 TODO·완료 기준을 주입하고, 소스 편집 뒤 검증 누락을 자동으로 감지합니다.

PUBLIC REPOSITORY ↗

02 · DELIVERY AUTOMATION

같은 `npm run verify`를 로컬과 GitHub Actions에서 실행하고, Vercel 프로덕션 배포 URL까지 자동으로 스모크 체크합니다.

03 · DISCORD OPS FEEDBACK

CI·Vercel·Sentry 신호를 Discord에서 모으고 읽기 전용 사전 진단과 `/code` 트리아지로 연결합니다. 복구는 사람이 승인합니다.

PUBLIC REPOSITORY ↗

TWO SIDES, ONE PRACTICE

ENGINEERING DEPTH

실패와 복구까지 시스템의 일부로 봅니다.

정상 흐름만 구현하지 않습니다. 데이터 정합성, 경계 조건, 재시도, 복구, 관측 가능성을 설계에 포함하고 운영에서 발견한 실패를 테스트와 가드레일로 되돌립니다.

PRODUCT INSTINCT

작은 불편도 실제 제품으로 검증합니다.

거창한 아이디어를 기다리지 않습니다. 일상의 문제를 검증 가능한 범위로 줄이고, 직접 출시해 사용 가능성과 기술적 비용을 확인합니다.

EVIDENCE, NOT CLAIMS

기술적 판단은 운영 결과로 증명합니다.

사용한 기술보다 어떤 제약을 발견했고, 어떤 경계를 설계했으며, 실패를 어떻게 시스템에 되돌렸는지를 기록합니다.

FORCLETTER · EXTERNAL API AT SCALE

수천 계정의 외부 API를 정책 안에서 운영합니다.

CONSTRAINT
4,800여 개 인스타그램 계정의 수집과 DM·댓글 자동 실행을, 토큰 만료와 Meta 정책·레이트리밋이라는 통제 불가능한 조건 위에서 운영해야 했습니다.
ENGINEERING DECISION
웹훅 서명 검증 → 이벤트 분류 → 모더레이션·자동 DM 실행의 단일 인입 파이프라인을 만들고, 토큰 상태 머신과 서킷 브레이커로 외부 장애가 사용자 의도 상태를 덮어쓰지 못하게 격리했습니다.
  • IG 계정 4,800+ 연동
  • 자동 DM 8.8만+ 건
  • 댓글 535만 건 수집
서비스 보기

FORCLETTER · DATA AT SCALE

5,000만 행 시계열을 일상 조회가 가능한 상태로 유지합니다.

CONSTRAINT
계정·미디어 메트릭을 주기 수집하면 스냅샷 테이블이 수천만 행으로 자라고, 통계·리포트 조회는 매일 그 위에서 돌아야 했습니다.
ENGINEERING DECISION
35개 크론 잡이 중복 실행 락 아래에서 수집하고, 조회 패턴에 맞춘 복합 인덱스와 기간 집계 쿼리로 성장·활성·리텐션 통계를 운영 DB에서 직접 제공합니다.
  • 메트릭 스냅샷 5,000만+ 행
  • 복합 인덱스 설계
  • 크론 잡 35개 · 실행 락
서비스 보기

FORCLETTER · ZERO-DOWNTIME OPS

배포와 장애 대응이 사용자에게 보이지 않게 합니다.

CONSTRAINT
단일 EC2 위의 운영 서비스라 배포 중단이 곧 사용자 장애였고, 경보가 없거나 너무 많으면 실제 사고를 놓치게 됩니다.
ENGINEERING DECISION
비활성 슬롯 기동 → 헬스체크 → Nginx upstream 전환의 blue-green 배포를 직접 구축했습니다. Loki·Grafana 관측성 위에 등급·스로틀 정책이 있는 Slack 경보와 fail-closed Sentry 브리지로 장애 신호를 관리합니다.
  • Blue-green 무중단 배포
  • Loki·Grafana 관측성
  • 경보 등급·스로틀 정책
서비스 보기

FORCLETTER · DELIVERY PIPELINE

커밋부터 배포·롤백까지 재현 가능하게 만듭니다.

CONSTRAINT
웹·관리자·모바일 앱·API·스케줄러가 한 모노레포에서 서로 다른 대상(Vercel·EC2 컨테이너)으로 나가야 했고, 프로덕션 반영은 언제든 되돌릴 수 있어야 했습니다.
ENGINEERING DECISION
CI 검증을 통과한 커밋만 GHCR 이미지로 빌드해 환경별 EC2에 배포합니다. 프로덕션은 승인 게이트를 거치고, 모든 배포가 이미지 태그 기반이라 같은 스크립트로 특정 태그로의 롤백이 가능합니다.
  • GitHub Actions → GHCR → EC2
  • 프로덕션 승인 게이트
  • 태그 기반 배포·롤백
서비스 보기

FORCLETTER · PAYMENTS & IDEMPOTENCY

돈이 오가는 흐름은 멱등하게 설계합니다.

CONSTRAINT
구독 결제·환불·쿠폰 이벤트가 웹훅으로 비동기 도착하고, 재시도와 중복 이벤트가 이중 청구나 이중 환불로 이어지면 안 됐습니다.
ENGINEERING DECISION
결제·환불 이벤트를 단일 웹훅 인입점에서 분류해 처리하고, 환불 실행은 멱등 키 테이블로 중복을 차단했습니다. 결제 이력과 구독 상태를 분리해 상태 전이를 추적 가능하게 유지합니다.
  • 정기결제 웹훅 처리
  • 환불 멱등 키 설계
  • 결제 이력·구독 상태 분리
서비스 보기

FORCLETTER · AI PRODUCT ENGINEERING

AI의 판단과 실행 사이에 경계를 설계합니다.

CONSTRAINT
AI 에이전트가 계정 분석을 넘어 DM 발송 같은 실행까지 다루면, 잘못된 호출 하나가 실제 사용자에게 그대로 도달합니다.
ENGINEERING DECISION
도구 레지스트리로 조회와 실행을 분리하고, 실행형 액션은 1회용·TTL·소유자 고정의 무결성 경계를 가진 승인 큐를 통과해야만 수행됩니다. LLM은 멀티 프로바이더 추상화 뒤에 두고 few-shot 예제를 데이터로 관리합니다.
  • 실행 승인 큐 · 1회용·TTL
  • 도구 레지스트리 분리
  • 멀티 프로바이더 LLM 계층
서비스 보기

TODARI OPS · INCIDENT RESPONSE

장애는 복구로 끝내지 않고 시스템으로 되돌립니다.

CONSTRAINT
서비스 10여 개가 올라간 단일 EC2가 새벽 메모리 포화(OOM)로 응답 불능이 됐고, 사람이 자는 시간이라 감지도 복구도 늦었습니다.
ENGINEERING DECISION
복구 후 원인(스왑 없는 메모리 포화)을 제거하고, 메모리·스왑 임계 조기 경보와 CloudWatch 상태 검사 실패 시 자동 재부팅·복구, 재부팅 감지 통지까지 붙여 같은 장애가 사람 없이 끝나도록 만들었습니다.
  • 새벽 OOM → 원인 제거
  • CloudWatch 자동 복구
  • 임계 조기 경보·재부팅 통지
공개 코드 보기

METRONOMDEUL · REALTIME SYNC

떨어져 있는 기기들의 박자를 하나로 맞춥니다.

CONSTRAINT
네트워크 지연과 서로 다른 오디오 시계를 가진 기기들이 각자의 이어폰에서 같은 클릭을 재생해야 했습니다.
ENGINEERING DECISION
RTT/2 표본의 중앙값으로 서버 시각 오프셋을 추정하고, Web Audio 50ms 선행 스케줄링으로 네트워크와 재생을 분리했습니다. iOS 오디오 활성화·재접속·방 상태 동기화의 경합은 복구 가능한 상태 전이로 정리했습니다.
  • RTT 중앙값 오프셋 추정
  • 50ms 선행 스케줄링
  • 재접속·iOS 복구
공개 코드 보기

REACT PIXEL UI · FRONTEND INFRA

프레임워크를 깨지 않는 렌더링 계층을 설계합니다.

CONSTRAINT
기존 DOM과 CSS 레이아웃을 훼손하지 않으면서 배경·테두리·모서리·그림자를 픽셀 아트로 변환해야 했습니다.
ENGINEERING DECISION
Canvas 없이 clip-path 폴리곤과 합성 PNG 데이터 URL로 변환 계층을 설계해 SSR을 유지했습니다. RGBA 그라디언트는 의존성 없는 deflate 인코더로 직접 압축하고, 테마·hover·focus·크기 변화는 자동으로 재계산됩니다.
  • npm 패키지 배포
  • 회귀 테스트 161개
  • PNG 출력 30–100× 최적화
공개 코드 보기

TRADE TOWER · VERIFIED EXECUTION

실행이 위험한 시스템은 검증 체계부터 만듭니다.

CONSTRAINT
실시간 틱과 호가 데이터에서 판단을 만들되, 잘못된 진입·중복 주문·연결 단절이 실제 실행으로 번지지 않게 제어해야 했습니다.
ENGINEERING DECISION
규칙 기반 엔진을 중심에 두고 LLM은 제한적인 VETO로 격리했습니다. 결정론적 룰 선택기와 데이 리플레이 시뮬레이터로 라이브·시뮬레이션 동형성을 검증하고, 드리프트 감지와 킬 스위치로 실행을 제어합니다.
  • 결정론적 룰 + LLM VETO
  • 데이 리플레이 백테스트
  • 드리프트 감지·Kill Switch
프로젝트 보기

LET'S TALK

문제를 함께 정의하고,
빠르게 제품으로 검증할 팀을 찾습니다.

프로덕트 엔지니어·프론트엔드 포지션과 제품을 처음부터 함께 만드는 협업 제안을 열어두고 있습니다.

ALL WORKS · 01—12

질문을 제품으로 바꾸고,
운영하며 다음 답을 찾습니다.

기술적 깊이와 제품의 재미를 따로 나누지 않습니다. 서로 다른 문제를 구조화하고, 실제 서비스로 출시하고, 운영에서 발견한 실패를 다음 개선으로 연결한 12개의 프로젝트입니다.

PROJECT 01
운영 중2025 — NOW

인스타그램 인플루언서 올인원 툴

Forcletter

계정·콘텐츠 인사이트, 댓글 자동 DM, 멀티링크, 광고 단가 예측과 AI 에이전트 포키를 연결한 인스타그램 인플루언서 운영 도구.

운영 문제
인플루언서는 계정 분석, 댓글·DM, 멀티링크와 광고 단가 관리를 서로 다른 도구에서 반복해야 했습니다.
제품 구조
계정 데이터와 운영 기능을 한곳에 모으고 AI 에이전트의 분석과 실제 실행 사이에 명시적인 도구 경계를 뒀습니다.
운영 지표
월 활성 1,900명이 사용하고 연동 크리에이터 3명 중 1명이 지금도 매달 씁니다. 자동 DM은 월 3.8만 건 실행됩니다.
OWNED
제품 설계 · 프론트엔드 · AI 에이전트
Next.jsNestJSAI AgentInstagram
PROJECT 02
개발 중2026 — NOW

KBO 티켓 팬투팬 정가 양도

이정표

가격 입력을 없애 경기·좌석 등급으로 정가를 서버가 자동 산정하고, 결제 보호·신고·제재·채팅 마스킹을 연결한 KBO 팬투팬 티켓 양도 플랫폼.

시장 문제
웃돈 거래를 막으면서도 팬이 안심하고 티켓을 넘길 수 있는 신뢰 장치가 필요했습니다.
신뢰 설계
경기·좌석 기준 정가를 서버에서 산정하고 거래 상태 머신에 결제 보호·취소·신고 흐름을 연결했습니다.
현재 검증
사용자 가격 입력 없는 거래 구조와 예외 상태를 구현하고 실제 팬 거래 시나리오를 검증하고 있습니다.
OWNED
제품 설계 · 풀스택 · 거래 운영
GoReact NativePostgreSQLState Machine
PROJECT 03
운영 중2026 — NOW

검색·AI 답변 브랜드 가시성 모니터링

GEO Dashboard

검색엔진과 AI 답변의 브랜드·제품 노출, 인용 출처와 질문별 성과를 수집하고 상태·원인·행동으로 연결한 사내 의사결정 대시보드. 보안상 식별 가능한 정보는 공개하지 않습니다.

데이터 제약
검색·AI 표면마다 지표의 분모가 다르고 원시 인용이 누적될수록 비교 정확도와 조회 비용이 함께 나빠졌습니다.
시스템 설계
표면별 지표 정의를 정규화하고 일별 집계 모델과 상태 → 원인 → 행동 중심의 정보 구조를 적용했습니다.
운영 검증
운영 데이터에서 가시성·인용·질문 성과를 같은 기준으로 비교하고 원인에서 다음 행동까지 추적했습니다.
OWNED
제품 설계 · 풀스택 · 데이터 운영
Next.jsPostgreSQLData PipelineGEO
PRIVATE WORK · 일부 정보 비공개
PROJECT 04
운영 중2026 — NOW

엽떡 닭발 판매 지점 탐색

닭발 헌터

전국 엽떡 지점의 요기요 메뉴 판매 상태를 수집해 숯불·국물, 통뼈·무뼈 종류별로 판매 지점을 지도에서 찾습니다.

생활 문제
엽떡 닭발을 먹고 싶어도 어느 지점에서 어떤 종류를 파는지 한 번에 확인할 방법이 없었습니다.
제품 가설
지점별 메뉴 표현과 판매 상태를 정규화해 지도에 모으면 가장 가까운 판매점을 빠르게 찾을 수 있다고 봤습니다.
출시 결과
닭발 종류와 현재 판매 여부로 전국 지점을 탐색할 수 있는 서비스를 출시해 운영하고 있습니다.
OWNED
문제 정의 · UI/UX · 제품 구현
Next.jsMapData
PROJECT 05
운영 중2024

쉽고 빠른 모임 정산

행동대장

여행·모임 비용을 쉽게 정산하세요. 가입 없이 바로 시작, 구성원 변동에도 자동 재계산.

도메인 제약
가입하지 않은 모임에서 구성원이 바뀌어도 기존 지출과 정산 금액이 깨지면 안 됐습니다.
계산 설계
지출 기록, 참여자와 계산 규칙을 분리하고 변경 시 전체 정산을 불변식에 따라 다시 계산했습니다.
서비스 결과
모임 중간에 사람이 추가·제외되어도 가입 없이 정산 결과가 자동으로 갱신되도록 운영하고 있습니다.
OWNED
서비스 기획 · UI/UX · 프론트엔드
ReactTypeScriptPWA
PROJECT 06
운영 중2025 — NOW

함께 맞추는 박자

메트로놈들

여러 연주자가 네트워크를 통해 동일한 박자에 동기화하는 실시간 협업 메트로놈.

기술 제약
네트워크 지연과 서로 다른 기기 오디오 시계 때문에 같은 시각의 클릭도 다르게 들렸습니다.
동기화 설계
서버 시각 오프셋 보정과 Web Audio 선행 스케줄링을 분리하고 재접속 복구 경로를 설계했습니다.
검증 근거
모바일 실기기에서 시계 보정·재접속·iOS 오디오 활성화 경합을 재현하고 회귀 흐름으로 고정했습니다.
OWNED
기획 · 프론트엔드 · 실시간 시스템
ReactWebSocketWeb Audio
PROJECT 07
개발 중2026 — NOW

함께 정하는 실시간 장소 보드

핀투게더

공유 지도에서 장소를 수집·그룹화하고 참여자의 커서, 지도 뷰포트, 평가와 메모를 실시간으로 동기화하는 익명 협업 보드.

협업 문제
가입하지 않은 여러 사람이 같은 지도에서 장소를 모으고 의견을 합치는 과정이 메신저 대화에 흩어졌습니다.
실시간 설계
WebSocket presence와 원자적 부분 갱신을 분리하고 재연결 시 서버 상태를 다시 합치는 흐름을 만들었습니다.
현재 상태
익명 참여자의 장소 수집·평가·커서·지도 뷰 동기화를 구현하고 실제 모임 흐름을 검증하고 있습니다.
OWNED
제품 설계 · 풀스택 · 실시간 협업
Next.jsGoWebSocketNaver Maps
PROJECT 08
개선 중2024 — NOW

어떤 CSS든 픽셀 아트로

React Pixel UI

React 요소를 <Pixel>로 감싸면 배경·모서리·테두리·그림자를 Canvas 없이 픽셀 아트로 변환하는 SSR 호환 라이브러리.

표현 제약
기존 DOM과 CSS, SSR과 상호작용 상태를 유지하면서 시각 표현만 픽셀 아트로 바꿔야 했습니다.
변환 설계
Canvas 대신 CSS 변환 계층을 만들고 크기·테마·hover·focus 변화에 맞춰 다시 계산하도록 설계했습니다.
검증 근거
SSR·다크 모드·상호작용 상태를 회귀 테스트로 고정하고 npm 패키지와 데모로 공개했습니다.
OWNED
UI 시스템 · 프론트엔드
ReactTypeScriptCSSSSR
PROJECT 09
개선 중2025 — NOW

틱 기반 자동매매 운영 시스템

Trade Tower

한국 주식 WebSocket 틱 데이터를 규칙형 점수, 다층 리스크 관리와 주문 실행 파이프라인으로 처리하는 자동매매 플랫폼.

운영 위험
빠른 틱 흐름에서 잘못된 진입, 중복 주문과 연결 단절이 실제 주문으로 번지지 않아야 했습니다.
실행 설계
결정론적 Tick Engine과 다층 리스크 게이트를 중심에 두고 LLM은 제한적인 VETO 역할로 격리했습니다.
검증 근거
실시간과 시뮬레이션이 같은 판단·주문 경로를 사용하도록 맞추고 실패 시나리오를 실행 전 단계에서 검증했습니다.
OWNED
제품 설계 · 풀스택 · 데이터 운영
NestJSNext.jsWebSocketQuant
PROJECT 10
개선 중2023 — NOW

홍익대 구성원 주간 1:1 매칭

HGT

홍익대학교 구성원 인증을 바탕으로 키워드 프로필을 만들고, 매주 새로운 한 사람과 실시간 대화로 연결하는 비공식 캠퍼스 매칭 서비스.

신뢰 문제
같은 학교 구성원이라는 최소한의 신뢰를 확보하면서 포털 자격증명은 서비스에 남기지 않아야 했습니다.
매칭 설계
휴면 사용자를 제외하고 선호·키워드 점수를 조합해 매주 한 명을 결정론적으로 연결하도록 구성했습니다.
제품 구조
Next.js·Capacitor 앱과 Hono API, PostgreSQL, WebSocket 채팅 계약을 하나의 TypeScript 모노레포에서 관리합니다.
OWNED
제품 설계 · 풀스택 · 모바일 앱
Next.jsCapacitorHonoWebSocket
PROJECT 11
개발 중2026 — NOW

카카오톡 관계 신호 분석

톡사이

카카오톡 1:1 내보내기 파일을 파싱·샘플링해 관심 신호, 대화 습관, 타임라인과 케미를 분석하고 비공개 링크로 공유하는 AI 분석 서비스.

사용자 호기심
오래 쌓인 카카오톡 대화에서 둘 사이의 관심 신호와 관계 패턴을 재미있게 확인하고 싶었습니다.
분석 가설
전체 파일을 구조화한 뒤 문맥을 샘플링하면 대용량 대화에서도 일관된 관계 신호를 추출할 수 있다고 봤습니다.
현재 상태
파일 파싱·비동기 AI 분석·비공개 결과 공유를 구현하고 분석 결과의 납득 가능성을 검증하고 있습니다.
OWNED
제품 설계 · 풀스택 · AI 분석 파이프라인
Next.jsNestJSGeminiPrisma
PROJECT 12
운영 중2024 — NOW

연애 성격 유형 테스트

LVTI

32개 질문으로 알아보는 16가지 연애 유형. 나의 연애 성격을 4가지 차원으로 분석해 드립니다.

콘텐츠 가설
일반 성격 유형이 아니라 연애 상황에 한정된 질문이라면 더 공감되는 결과를 만들 수 있다고 봤습니다.
점수 모델
32개 응답을 4개 차원의 결정론적 점수 규칙으로 계산하고 결과 생성은 클라이언트 중심으로 구성했습니다.
서비스 결과
개인 응답을 서버에 남기지 않고도 16가지 유형 결과를 즉시 만들고 공유하는 서비스를 운영하고 있습니다.
OWNED
서비스 기획 · UI/UX · 프론트엔드
Next.jsTypeScriptAnalytics

CONTINUE EXPLORING

더 궁금한 문제와 함께 만들 제품이 있다면 이야기해 주세요.