01
경찰과 도둑
Cops and Robbers— 출시 · 운영 중
2025.10 ~
프론트엔드 (앱 · 웹)
위치 기반 실시간 멀티플레이어 모바일 게임
AWARD — 2026 세종 창업 아이디어리그 대상 (SW중심대학사업단 주최)
오프라인 술래잡기 '경찰과 도둑'을 위치 공유와 실시간 동기화로 옮긴 모바일 게임입니다. 프론트엔드의 실시간 통신과 게임 내부 이벤트를 담당해, STOMP 기반 WebSocket으로 로비·게임의 실시간 채팅과 게임 시스템을 연결했습니다.
불안정한 모바일 네트워크에서의 연결 복구
야외에서 뛰며 플레이하는 게임 특성상, 화면을 끄거나 앱을 전환하면 iOS가 WebSocket을 끊어 체포·탈옥·위치공개 이벤트를 놓치는 문제가 있었습니다. 연결 상태 표시와 수동 재연결 버튼을 추가하고, 게임 이벤트 FCM 푸시가 도착했다는 것은 네트워크가 살아있다는 신호라는 점에 착안해 포그라운드 FCM 수신 시 끊긴 연결을 자동으로 복구하도록 만들었습니다. 동시에 포그라운드에서는 불필요한 푸시 배너를 억제했습니다.
인앱 브라우저 딥링크 브릿지 페이지
Next.js 소개 웹사이트에 팀 테마 전환·미니게임 인터랙션을 구현했습니다. 초대 링크가 카카오톡·인스타그램·당근 인앱 브라우저에서 앱으로 연결되지 않는 문제를 발견하고, 인앱 브라우저를 감지해 외부 브라우저로 탈출시킨 뒤 설치된 앱을 실행하고 미설치 시에만 스토어로 안내하는 브릿지 페이지로 개선했습니다.
검색되지 않는 이름 — Notion CMS 팀 블로그
'경찰과 도둑'은 일반명사라 검색 결과에서 서비스가 밀린다고 판단해, 검색 유입을 만들기 위한 팀 블로그를 직접 개발했습니다. 블로그는 글이 꾸준히 쌓여야 의미가 있기에, 팀원들이 이미 쓰던 노션을 그대로 CMS로 선택해 글쓰기 진입장벽을 없앴습니다 — Notion API 문서를 파싱하는 블록 렌더러를 구현해, 노션에 글을 쓰고 체크박스만 켜면 ISR로 발행되는 구조입니다. 만료되는 노션 이미지를 위한 프록시, 글별 동적 OG 카드, Article JSON-LD, 사이트맵 등록과 이미지 최적화까지 Next.js 기반 검색 최적화를 적용했습니다.
서울게임타운 부스 — 세계관을 체험하는 오프라인 빌드
인디게임 전시회 서울게임타운에 부스 참가를 직접 신청해 성사시키고, 현장에서 유저들의 경험을 직접 들었습니다. 위치 기반 오프라인 게임이라는 특성에 맞춰 행사용 이벤트 게임 로직과 미니게임을 새로 만들고, 웹캠 촬영부터 Canvas 프레임 합성, Vercel Blob 업로드, QR 발급까지 전부 브라우저에서 처리되는 포토부스를 구현했습니다. Upstash Redis 정렬 집합 기반 리더보드로 닉네임별 최고 점수를 관리해, 방문자가 서비스 세계관을 간접 체험할 수 있게 부스를 구성했습니다.
Flutter / Dart / STOMP over WebSocket / Riverpod / Next.js / Notion API / Vercel Blob / Upstash Redis











