프로젝트로 돌아가기

시즌 종료

PokeTree

크리스마스에 익명 편지를 주고받고, 편지를 열 때마다 캐릭터 도감이 채워지는 시즌 웹 서비스입니다.

자신의 트리를 공유해 익명 편지를 받고, 편지를 열 때마다 도감도 채워지는 크리스마스 시즌 웹 서비스입니다. 수집을 재방문 이유로 제안했고 이미지 에셋과 공유 UI, 일부 Go CRUD API 경로를 맡았습니다.

기간
2025.12
담당 범위
재방문 설계 · 공유 UI · Go CRUD API
12인 팀
저장소
비공개 리포지토리

트리를 공유하고 익명 편지를 받는 경험

PokeTree는 자신의 크리스마스트리 링크를 친구에게 공유하고 익명 편지를 받는 시즌 웹 서비스입니다. 크리스마스가 되면 받은 편지를 열어 메시지를 읽고, 편지와 함께 캐릭터도 모을 수 있습니다.

편지를 받는 순간은 즐겁지만 웹 서비스 특성상 새 편지를 확실히 알릴 수단이 없어, 첫 방문 뒤 다시 돌아올 이유가 약했습니다. 짧은 시즌을 위해 앱 설치를 요구하는 것도 현실적이지 않았습니다.

그래서 알림 기능 자체를 만드는 대신 그 목적을 ‘다시 방문하게 하는 것’으로 정의하고, 편지를 여는 경험에 캐릭터 수집을 연결했습니다.

재방문 흐름

편지를 읽는 본래 행동에 수집의 재미를 연결

  1. 01

    편지 열기

    서비스의 핵심 행동

  2. 02

    메시지 읽기

    익명 편지 받기

  3. 03

    도감에 추가

    랜덤 캐릭터

  4. 04

    다시 확인하기

    다음 편지와 도감 진행

첫 Go CRUD 경로를 기존 서버에 연결했습니다

PokéTree에서 처음으로 Go 서버 구현에 참여했습니다. 화면 동작만 만드는 것이 아니라 요청을 받고 DB 처리로 넘긴 뒤 응답을 반환하는 흐름을 실제 서비스 코드에서 연결해야 했습니다.

서버 전체와 편지 핵심 API는 다른 팀원이 담당했습니다. 첫 서버 작업이었기 때문에 새로운 구조를 만들기보다 기존 라우팅, 핸들러, DB 접근, 응답 형식을 이해하고 맡은 CRUD 경로를 같은 규칙에 맞추는 것이 중요했습니다.

기존 코드를 따라 요청부터 응답까지의 책임을 확인하고 일부 Go CRUD API 경로를 구현했습니다. 프론트 동작이 어떤 endpoint를 호출하고, handler와 DB 처리를 거쳐 어떤 응답으로 돌아오는지 하나의 흐름으로 확인했습니다.

  • 기존 Go 서버 구조와 담당 경로의 접점 확인했습니다.
  • 요청·핸들러·DB 처리·응답 흐름 추적했습니다.
  • 맡은 CRUD API를 기존 규칙에 맞춰 구현했습니다.

실제 시즌에 운영된 서비스에서 맡은 Go CRUD 경로를 기존 서버에 연결했습니다.

처음 다루는 서버라도 요청부터 응답까지 기존 구조를 따라가면 제 구현 범위와 앞뒤 책임을 구체적으로 이해할 수 있었습니다.

PokeTree 모바일 화면

편지와 도감을 하나의 재방문 루프로 연결했습니다

익명 편지는 열어 보는 순간에는 가치가 있지만 웹에서는 새 편지를 확실히 알리기 어려워 첫 방문 뒤 다시 돌아올 이유가 약했습니다.

짧은 크리스마스 시즌을 위해 앱 설치나 새로운 알림 체계를 요구하는 것은 부담이 컸습니다. 별도 미니게임을 붙이면 편지를 읽는 핵심 행동에서 사용자를 떼어 놓을 수도 있었습니다.

알림 기능 자체보다 ‘다시 확인할 이유’를 만드는 데 목적을 두고, 편지를 열면 랜덤 캐릭터가 도감에 추가되는 흐름을 제안했습니다.

  • 편지 열기 흐름에 캐릭터 보상을 통합했습니다.
  • 일반 80종과 크리스마스 당일 해금 1종으로 도감 구성했습니다.
  • 수집 상태와 도감 화면·캐릭터 에셋 연결했습니다.

일반 캐릭터 80종과 크리스마스 당일 해금 1종으로 도감을 운영했습니다. 다만 수집 기능만의 재방문 효과는 측정하지 않았습니다.

기능 이름보다 사용자가 다시 해야 할 행동을 먼저 정하면, 기존 핵심 흐름 안에서 더 가벼운 해결책을 찾을 수 있었습니다.

실제 시즌 운영 중 기기에서 확인한 도감 화면

GA4에서 약 1.5만 명의 방문자를 확인했습니다. 일반 캐릭터 80종과 크리스마스 당일 해금 1종으로 시즌 수집 콘텐츠를 운영했습니다.

기능을 만들기 전에 사용자가 다시 방문해야 하는지, 링크를 공유해야 하는지, 편지를 열어야 하는지를 구체적으로 정하게 됐습니다. 또한 첫 Go CRUD API 경로를 구현하며 버튼 동작이 HTTP 요청, 핸들러, DB 쿼리, 응답을 거쳐 화면 갱신으로 돌아오는 과정까지 추적할 수 있게 됐습니다.

이 수치는 방문자 수이며 가입자나 활성 사용자 수가 아닙니다. 수집 기능 단독 효과도 측정하지 않았습니다.

  • GA4 기간이 보이는 증거 이미지 정리
  • 원자료가 있을 때만 완주율·재방문율 추가
  • 캐릭터 에셋 공개 범위 검토