본문으로 건너뛰기

Prodantix

한눈에 보기

분류
개발자 플랫폼
웹사이트
prodantix.com
콘솔
app.prodantix.com
문서
prodantix.com/en/docs/overview
GraphQL API
api.prodantix.com/graphql
이벤트 수집
eu.api.prodantix.com/v1/events
실시간
eu.ws.prodantix.com
MCP 인터페이스
eu.mcp.prodantix.com/mcp
세션 리플레이
eu.replay.prodantix.com

Prodantix는 소프트웨어를 만드는 사람들을 위해 만들어졌습니다. 모든 제품 팀은 늘 같은 세 가지를 묻습니다. 사람들이 우리 앱 안에서 실제로 무엇을 하고 있는지, 어떤 부분을 누구에게 보여 줘야 하는지, 그리고 무언가를 말하기에 적당한 때는 언제인지.

대부분의 회사는 이 세 가지 일마다 다른 도구를 삽니다. 문제는 거기서 시작됩니다. 도구마다 사용자에 대한 기록을 따로 갖고 있고, 그 기록들은 조금씩 어긋나기 시작합니다. 한 도구는 고객이 계정 설정을 끝냈다고 알고 있습니다. 다른 도구는 아직 따라오지 못해서, 지난주에 이미 끝낸 단계의 안내 메일을 보냅니다. 고객이 항의하거나 두 대시보드가 서로 다른 숫자를 보여 주기 전까지는 아무도 알아채지 못합니다.

엔진은 어떻게 구성되어 있는가

엔진은 네 개의 기본 요소로 이루어져 있고, 나머지는 모두 그 위에 올라갑니다. 각 요소가 다음 요소로 이어지므로 순서대로 보는 편이 좋습니다. 개념 레퍼런스에 전부 설명되어 있습니다.

이벤트

사용자가 한 하나의 행동을, 일어나는 순간에 잡아 둔 것입니다. 가입 완료, 페이지 열기, 중간에 그만둔 양식 같은 것들입니다. 이벤트는 원신호이며, 바깥에서 시스템으로 들어오는 유일한 것입니다. 나머지는 전부 여기서 파생됩니다.

사용자 상태

한 사용자에 대해 알려진 모든 것을, 살아 있고 조회 가능한 형태로 투영한 것입니다. 그 사람의 이벤트에서 파생되며 새 이벤트가 도착하는 순간 갱신됩니다. 분석과 기능 플래그, 메시징이 모두 이 같은 진실 공급원을 읽습니다. 야간 집계도 아니고, 어떤 작업이 맞춰 주는 사본도 아닙니다. 오직 하나만 존재합니다.

판단

사용자 상태를 기준으로 평가되는 규칙입니다. 누가 어떤 집단에 속하는지, 누가 플래그를 받는지, 누가 메시지 조건을 충족하는지를 정합니다. 판단은 질문받는 그 순간의 실시간 상태를 읽으므로, 낡은 그림을 근거로 답할 수 없습니다.

액션

판단이 성립했을 때 엔진이 하는 일입니다. 기능을 열어 주거나, 메시지를 보내거나, 워크플로를 시작합니다. 액션 자체도 이벤트로 기록되며, 바로 그것이 루프를 닫습니다. 엔진이 한 일이 엔진이 아는 것의 일부가 되는 것입니다.

분석은 상태를 읽는 일

Prodantix의 분석은 사용자 사본을 따로 들고 있는 별도의 저장소가 아닙니다. 사용자 상태를 직접 읽는 일입니다. 퍼널과 리텐션, 코호트는 엔진의 나머지가 작동하는 바로 그 실시간 투영에 대한 질의입니다. 그래서 데이터 웨어하우스로 가는 SQL 왕복도, 야간 집계를 기다리는 일도 없습니다. 상태는 이미 질문의 형태로 놓여 있습니다. 코호트는 여기서 일급 객체입니다. 이름이 있고 조건절로 정의되며, 사람들이 조건을 충족하거나 벗어남에 따라 소속이 계속 갱신됩니다.

사람에 따라 다른 것을 보여 주기

팀은 새로운 것을 먼저 소수의 사용자에게만 내보내 상황을 본 뒤 모두에게 여는 경우가 많습니다. Prodantix는 사용자 상태에 대해 조건을 평가해 누가 무엇을 볼지 정합니다. 속성과 연산자와 값의 조합을, 저장된 명단에서 찾는 대신 플래그가 질문받는 그 순간에 검사합니다. 새 기능을 고객의 2퍼센트에게만 열어 사용 방식을 지켜본 다음, 다음 배포를 기다리지 않고 범위를 넓히거나 거둬들일 수 있습니다.

아직 도움이 될 때 도착하는 메시지

메시지는 아직 도움이 될 때에만 보낼 가치가 있습니다. Prodantix는 어떤 사람이 무언가를 한 순간, 또는 하지 못한 순간에 메시지를 보낼 수 있습니다. 고객이 요금제 한도에 다다르면 바로 그 자리에서 알게 됩니다. 이미 포기하고 다른 곳으로 떠난 다음 날 아침이 아니라요.

AI 오케스트레이션, 그리고 루프가 닫히는 방식

위의 인터페이스들은 여전히 단계를 잇는 일을 여러분에게 남깁니다. 무언가를 알아채고, 그것이 누구에게 해당하는지 가려내고, 무엇을 할지 정하는 일입니다. Prodantix는 그 루프를 스스로 돌릴 수 있습니다. 엔진이 실시간 상태에서 의미 있는 순간을 감지하고, 해당하는 코호트를 고르고, 액션을 결정합니다. 이것이 흔한 자동화를 넘어서는 지점은 마지막에 있습니다. 액션이 이벤트로 기록되어, 다음 판단이 읽을 바로 그 사용자 상태로 되접힙니다. 시스템 자신의 행동이 그 사람에 대해 아는 것의 일부가 되며, 옆에서 벌어진 별개의 사건으로 남지 않습니다.

이벤트를 들여보내기

모든 것은 수집 엔드포인트로 보낸 이벤트에서 시작하고, 엔진은 그것을 곧바로 사용자 상태에 접어 넣습니다. SDK는 웹과 모바일, 서버를 지원합니다. React만은 예외로, 생명주기 때문에 전용 어댑터가 필요합니다. 클라이언트를 한 번만 설치하고 StrictMode에서도 안전한 provider와 hook입니다. 퀵스타트가 몇 줄로 연결해 줍니다.

키와 환경

모든 SDK 호출은 프로젝트 키를 지니며, 키는 콘솔에서 발급합니다. 프로젝트를 만들면 live와 test 두 환경이 생기고 각각 고유한 키를 갖습니다. 개발은 test로, 배포는 live로 합니다. 두 키 모두 생성 직후 딱 한 번만 표시됩니다. 서버가 해시만 저장하기 때문에 이후 어떤 화면도 다시 보여 줄 수 없습니다. 교체는 고른 환경의 새 키를 발급하며, 이전 키를 즉시 끊을지 유예 기간을 둘지는 여러분이 정합니다.

엔진과 대화하는 네 가지 방법

REST는 세 개의 호스트에 걸쳐 있습니다. 플래그와 메시징용, 이벤트 수집용, 세션 리플레이용이며 각각 /openapi.json에 자체 OpenAPI 문서를 제공합니다. 수집은 202를 반환하는데, 이는 이벤트가 처리를 위해 접수되었다는 뜻이지 저장되었다는 뜻은 아닙니다. 형식이 잘못된 이벤트는 뒤쪽 파이프라인에서 버려질 수 있습니다. GraphQL은 프로젝트와 플래그, 워크플로, 분석, 메시징, 코호트, 청구를 포함한 애플리케이션 모델 전체를 다룹니다. 실시간 인터페이스는 플래그 변경과 메시지, 워크플로 실행을 전달하고 인증되지 않은 연결은 즉시 끊습니다. MCP 인터페이스는 에이전트가 도구 호출로 읽고 쓰게 해 주며, 기계 대 기계 전용이라 브라우저 요청은 거부합니다.

데이터는 계속 여러분의 것입니다

Prodantix는 저희 서버에서도, 여러분의 서버에서도 돌릴 수 있고 어느 쪽이든 똑같이 동작합니다. 넣어 둔 모든 것은 원할 때 언제든 전부 다시 꺼낼 수 있습니다. 저희는 여러분의 데이터를 팔지 않고, AI 모델 학습에도 쓰지 않습니다. 구조상 Prodantix는 여러분이 어디에 가지고 있는 것보다 가장 완전한 고객 기록을 갖게 됩니다. 그래서 이 약속은 다른 곳에서보다 여기서 더 무겁습니다.

이런 분께 맞습니다

Prodantix는 이 일을 위해 두세 개의 도구를 따로 돌리고 있고, 그것들이 서로 어긋나는 데 지친 팀에 맞습니다. 고객이 늘어나 이제는 여기저기 물어보는 것만으로 무슨 일이 일어나는지 알 수 없게 됐을 때 가장 쓸모가 큽니다.

바로가기 Prodantix: prodantix.com