홈으로

Projects

프로젝트 상세 기록

창업, 프리랜서, 사내 사이드 프로젝트를 거치며 직접 기획하고 개발한 일곱 가지 프로젝트의 과정과 고민을 정리했습니다.

사내 사이드 프로젝트 · STOVE 출시

Soles on Fire (부리나케)

Soles on Fire 타워 디펜스 게임
Unity C# 전투 시스템

개요

스마일게이트에서 매년 열리는 사내 사이드 프로젝트 공모전 'CCL7'에 3인 팀 "빌드깎는노인(The Build Carvers)"으로 참가해 제작한 타워 디펜스 게임입니다 (2025.11 ~ 2026.01). 몬스터 웨이브를 타워로 막는 디펜스 장르에, 직접 조작하는 캐릭터 전투를 결합했습니다. 공모전 종료 후 STOVE 스토어에 '부리나케(Soles On Fire)'라는 이름으로 정식 출시했습니다 (2026.01.12, 무료).

핵심 시스템

  • 화살·마법·근접 3종 베이스 타워, 각 3단계 업그레이드
  • 타워가 업그레이드되면 스킬이 자동 발동되며 몬스터 웨이브 방어
  • 플레이어 캐릭터의 기본 공격 + 스킬로 직접 전투 참여

담당 역할

3인 팀에서 맵 담당, 캐릭터 이동·인터페이스 담당과 역할을 나누어, 전투 시스템 전반을 맡았습니다. 타워별 공격·스킬 로직, 업그레이드에 따른 자동 스킬 발동, 플레이어 캐릭터의 공격·스킬 전투를 설계하고 구현했습니다.

Android SDK 개발과는 다른 결의 문제(실시간 전투 밸런스, Unity 기반 게임 로직)를 짧은 기간 안에 풀어보며 새로운 도메인에 빠르게 적응하는 경험이 되었습니다. 사내 공모전 결과물이 실제 스토어 출시까지 이어진 프로젝트입니다.
창업 · 사업화

모두 — 나의 구독 서비스 관리

모두 앱 아이콘
Android / Java Firebase Retrofit2 WorkManager

개요

커져가는 구독 서비스 시장에서 발생하는 신유형 소비자문제인 '다크 넛지'에 대한 해결책을 제공하며, 소비자가 정기 결제 상품들을 손쉽게 관리하고 늘어나는 가격 부담을 덜 수 있도록 돕는 앱입니다. 동아리에서 처음 MVP를 만든 이후 사용자 급증으로 사업화까지 도전했습니다.

핵심 기능

  1. 구독 중인 서비스들을 한데 모아 가격과 다음 결제일 표시
  2. 등록한 서비스들의 결제 전 푸시 알림
  3. 카테고리별 사용내역 통계
  4. 소비자가 모르는 구독 서비스 추천
  5. 구독 계정 공유를 통한 결제 가격 부담 완화

주요 라이브러리

  • FirebaseCloudMessaging / NotificationManager — 푸시 알림
  • WorkManager — 백그라운드에서 구독 상품의 결제일 비교 및 알림 스케줄링
  • Glide — 구독 상품 이미지 캐싱 및 로드
  • Retrofit2 — 비동기 서버 통신

회고

MVP 개발 당시 서버 개발자가 없어 SharedPreference에 데이터를 저장하고 스케줄러를 돌리는 방식으로 구현했습니다. 이후 사업화 과정에서 AOS·iOS 동시 제공을 위해 하이브리드 앱으로 전환을 결정하고, 서버 개발자·React 기반 웹 프론트엔드 개발자·디자이너로 팀을 구성해 리브랜딩 버전을 새로 만들었습니다.

PG사와 계약을 맺고 실결제(정기결제) 테스트를 진행하는 데 시간이 걸렸지만, 두 플랫폼 합산 1만+ 다운로드를 달성했습니다.
외주 개발

로봇 바리스타 주문 시스템

로봇 바리스타 바리스
Android / Java Python Node.js Socket 통신

개요

로봇 바리스타 '바리스'에게 안드로이드 태블릿으로 주문을 요청하고, 로봇의 현재 동작을 모니터링할 수 있는 서비스를 외주로 개발했습니다. 라즈베리파이가 태블릿과 로봇을 잇는 매개체 역할을 했습니다.

작동 프로세스

  1. 안드로이드 태블릿에서 메뉴 선택
  2. 라즈베리파이에 비동기 소켓 통신으로 주문 전송
  3. 라즈베리파이가 주문에 맞는 데이터를 로봇에 전송
  4. 로봇이 커피를 만드는 동안 행동의 시작과 끝을 태블릿으로 전송해 모니터링
  5. 로봇은 주문 완료 후 새 주문 대기

구성

  • 안드로이드 ↔ 라즈베리파이: AsyncTask 기반 비동기 소켓 통신
  • 라즈베리파이 ↔ Universal Robot: Python 소켓 통신
  • 라즈베리파이: 강제 일시정지·재시작을 위한 Node.js 서버 (pm2로 재부팅 시 자동 실행)
로봇은 산업로봇과 달리 사람과 같은 공간에서 동작하기 때문에 충돌 시 즉시 일시정지가 필요했습니다. 기존 소켓은 모니터링을 위해 계속 열어둬야 했기에, 강제 명령 전용 Node.js 서버를 라즈베리파이에 하나 더 올려 해결했습니다.
외주 개발

얼굴인식 간편결제 앱

GhostPass 앱 아이콘
Android / Java Alchera API (C++)

개요

가맹점 키오스크(태블릿)에서 얼굴인식으로 즉시 결제되는 시스템의 앱을 외주로 개발했습니다.

구현 범위

  • 모바일 — 회원가입, 얼굴인식 API 적용
  • 태블릿 — 메뉴 선택 UI, 얼굴인식 API 적용, 얼굴 값 비교를 통한 결제 연결, 결제 실패·에러 처리
외주사가 Alchera API로 서비스를 만들다 실패해 넘겨받은 소스로 개발을 시작해, 설명이 부족한 상태로 코드를 파악해야 했습니다. 얼굴인식 API 코드를 이해하는 데만 약 1주일이 걸렸고, 이후 모바일에서는 결제 정보 등록에, 태블릿에서는 실시간 얼굴인식과 사용자 데이터 비교를 통한 결제 흐름으로 구현했습니다.
외주 개발

제주 쿠폰 이커머스 앱

OMO 앱 아이콘
Android / Java 아임포트 결제

개요

제주도에서 사용하는 쿠폰을 구매할 수 있는 안드로이드 앱을 외주로 개발했습니다. 위치기반으로 주변 가맹점을 표출하고, 아임포트 API로 실결제 시스템을 도입했습니다.

구현 기능

  • 회원가입
  • 상품 상세조회 · 장바구니
  • 위치기반 가맹점 표출
  • 쿠폰 구매 및 사용
처음 접하는 실결제 시스템 도입 과정에서, 실시간으로 반영되는 쿠폰 값을 확인하기 위해 서버 개발자와 지속적으로 대면 소통하며 작업을 진행했습니다.
사이드 프로젝트

소상공인 연결 플랫폼 '오다' 카피캣

오다 카피캣 프로젝트
Android / Java Retrofit2 RecyclerView

개요

디자인을 받아 서버 개발자와 처음으로 협업해 본 프로젝트입니다. 로그인부터 상품 조회, 상품 상세, 장바구니, 구매, 구매내역까지의 기능을 구현했습니다.

주요 기능 / 라이브러리

  • ViewPager + Fragment — 4개 메인 탭과 상품 상세 탭을 슬라이드로 전환
  • RecyclerView, NestedScrollView — 매끄러운 스크롤 UI
  • Retrofit2 — 비동기 서버 통신
  • Glide — 이미지 로드
  • ExpandableListView — 펼쳐지는 주문내역 리스트

혼자 개발하다가 처음으로 협업을 통해 타협점을 찾는 과정을 경험했습니다. 응답 JSON의 형식, Body에 필요한 값, 화면에 뿌려줄 데이터 등을 서버 개발자와 논의하며 가장 적합한 지점을 찾는 과정이 흥미로웠고, 더 효율적인 코드를 작성하는 계기가 되었습니다.

종합설계 · 팀 프로젝트

비대면 AR드로잉 교육 앱

AR 드로잉 앱
Android Firebase Realtime DB SurfaceView

개요

인하대학교 컴퓨터공학 종합설계 프로젝트입니다. Untact 시대에 맞춰 멀리 떨어져 있어도 같은 공간에서 함께 그림을 그리는 듯한 경험을 주는 안드로이드 애플리케이션입니다.

특징

  • Firebase Realtime Database·Storage로 서버를 대체 — 다른 사람의 그림이 업로드되면 즉시 다운로드되어 화면에 반영
  • AR Core 대신 화면 터치 움직임을 배열 데이터로 저장해 bitmap으로 변환 후 Storage에 저장
  • 카메라 뷰 위에 SurfaceView를 올려 공간에 그림을 그리는 듯한 느낌 구현
  • 가속도 센서·Rotation Vector의 azimuth/pitch/roll을 저장해, 그림 조회 시 해당 방향을 바라보면 그림이 나타나도록 구현

담당 역할

  • Firebase Authentication을 이용한 Google 회원가입
  • 전반적인 앱 UI (메인, 방 찾기, 내 그림 화면)
  • FirebaseDatabase 연동 — 회원 정보, 그림방 생성/조회, 그림 조회/업로드

Data Flow Diagram

AR 드로잉 앱 데이터 흐름도

그림을 어떤 형식으로 저장할지 기획하는 과정에서 시행착오가 많았지만, 시대에 맞춘 앱을 만들어본다는 점에서 의미가 컸습니다. 실시간 동기화를 위해 별도 서버(AWS EC2) 대신 Firebase Realtime Database를 선택해, 같은 방에서 그림을 그리는 사용자에게 변경 사항이 즉시 반영되도록 구현했습니다.