Pin Route Life Logging Diary

Pinlog

당신의 모든 순간을
지도 위에 새기다.

38+
앱 화면
10+
핀 아이콘
12+
뱃지 컬렉션
앱 화면
Scroll

Problem

기억은 흐릿해지고,
앱은 불편하다

01
기억이 사라진다
여행지에서 찍은 사진은 수백 장이지만, 언제 어디서 어떤 감정을 느꼈는지는 금방 흐릿해진다. 시간이 지나면 어느 식당이었는지조차 기억나지 않는다.
02
기록이 파편화된다
사진은 카메라 롤, 감상은 메모앱, 위치는 지도앱에 따로 흩어져 있다. 나중에 돌아보려 해도 전체 그림을 한눈에 볼 수 없다.
03
함께 나누기 어렵다
같은 여행을 한 친구와 기억을 공유하거나, 추천 장소를 위치와 함께 자연스럽게 전달하는 방법이 마땅치 않다.

Why Pinlog

여행은 흘러가지 않는다.

핀 하나로, 그 순간은

영원히 남는다.

당신이 걸어온 모든 길, 느낀 모든 감정을
지도 위에 영원히 새겨보세요.

앱 화면

Screen 01 — Map

지도 위에서
모든 것을

Mapbox 기반 고해상도 지도 위에 핀을 심으세요. 내가 다녀온 모든 곳이 지도 위에 영구적으로 기록됩니다.

Mapbox GL

고해상도 벡터 타일 기반의 Mapbox GL 지도를 사용합니다. 매끄러운 줌과 회전, 실시간 렌더링으로 지도 위의 기억을 생동감 있게 탐색할 수 있으며, 핀 필터로 원하는 기억만 골라볼 수도 있습니다.

핀 클러스터링

핀이 많이 모인 지역은 숫자 뱃지로 자동 클러스터링됩니다. 줌 인하면 개별 핀으로 분리되어 지역별 기록 밀도를 직관적으로 파악할 수 있습니다.

10가지 핀 모양

체리블라썸, 별, 달, 하트, 불꽃 등 10가지 아이콘 중 원하는 핀 모양을 핀마다 개별 선택할 수 있습니다.

Screen 02 — Dark Mode

밤에도
아름다운 기록

시스템 테마에 따라 완벽하게 전환됩니다. 체리블라썸, 달, 태양 등 개성 있는 핀 아이콘으로 나만의 지도를 만드세요.

다크 모드

기기의 시스템 테마 설정에 따라 라이트/다크 모드가 자동으로 전환됩니다. 야간에도 눈의 피로 없이 편안하게 지도를 탐색할 수 있습니다.

핀 아이콘

체리블라썸, 달, 태양, 하트, 별 등 다양한 아이콘을 핀에 적용할 수 있습니다. 핀 아이콘은 저장 후에도 언제든 변경 가능합니다.

커스텀 테마

지도 스타일, 핀 색상, 아이콘까지 나만의 방식으로 꾸밀 수 있습니다. 세상 하나뿐인 여행 지도가 완성됩니다.

Screen 03 — Pin Create

탭 한 번으로
기억을 저장

지도를 탭하면 바로 기록 화면이 열립니다. 감정, 날씨, 동행자, 사진, 공개 범위까지 한 번에 남기세요.

감정 태깅

그 순간의 감정을 좋아요, 별로에요 등으로 태깅하고, 감정 강도를 1–5단계로 세밀하게 표현할 수 있습니다.

날씨 기록

맑음, 비, 흐림, 눈, 바람 중 그날의 날씨를 선택해 핀에 담습니다. 나중에 비 오는 날의 기억만 모아볼 수도 있습니다.

사진 첨부

핀마다 최대 5장의 사진을 첨부할 수 있습니다. 사진은 핀 상세 화면에서 갤러리 형태로 감상할 수 있습니다.

Screen 04 — Pin Detail

모든 순간이
담긴 곳

핀을 탭하면 그 순간의 모든 기억이 펼쳐집니다. 감정, 날씨, 함께한 사람, 사진까지 — 완전한 기억의 조각.

핀 상세 보기

지도 위의 핀을 탭하면 그 순간의 모든 기억이 한 화면에 펼쳐집니다. 작성 당시의 기억을 완전하게 다시 만날 수 있습니다.

사진 갤러리

핀에 첨부된 사진들을 갤러리 형태로 감상할 수 있습니다. 사진을 탭하면 전체 화면으로 확대됩니다.

편집 · 삭제

저장된 핀의 모든 내용을 언제든 수정할 수 있습니다. 기억은 시간이 지나면서 다르게 느껴지기도 하니까요.

Screen 05 — Activity

매일의 기록을
한눈에

히트맵 캘린더로 기록이 많은 날을 확인하세요. 카드를 스와이프하면 달력이 자동으로 동기화됩니다.

히트맵 캘린더

기록이 많은 날일수록 더 진한 색으로 표시됩니다. 내가 언제 가장 활발하게 기록했는지 한눈에 확인할 수 있습니다.

일별 카드

날짜를 선택하면 그날 기록한 핀들이 스와이프 가능한 카드 형태로 펼쳐집니다.

통계 대시보드

총 핀 수, 감정 분포, 날씨 패턴, 월별 기록 추이 등 나의 여행 데이터를 시각화한 통계 대시보드입니다.

Screen 06 — Collection

여행할수록
성장하는 나

핀을 쌓을수록 칭호가 오르고 뱃지를 수집합니다. 나만의 여행 이야기가 도감이 되는 경험.

칭호 시스템

핀을 쌓을수록 여행새내기 → 나들이러버 → 여행자 → 탐험가 → 여행달인 순서로 칭호가 올라갑니다.

뱃지 컬렉션

첫 여행지 방문, 30곳 달성, 사계절 기록 등 12가지 특별한 조건을 달성하면 뱃지가 해금됩니다.

프레임 꾸미기

획득한 칭호와 뱃지를 조합해 나만의 프로필 프레임을 꾸밀 수 있습니다.

Screen 07 — Social

함께하는
여행의 기억

친구를 추가하고 서로의 핀을 공유하세요. 같은 지도 위에서 각자의 발자국을 확인할 수 있습니다.

친구 지도

친구의 공개 핀이 내 지도 위에 함께 표시됩니다. 서로 다른 색상의 핀으로 각자의 기억을 한눈에 구분할 수 있습니다.

친구 추가

고유 코드로 친구를 추가하세요. 친밀도 시스템으로 자주 교류하는 친구를 특별하게 표시할 수 있습니다.

공유 설정

핀마다 전체공개, 친구공개, 나만보기를 선택할 수 있습니다. 특별한 순간은 나만의 비밀로 간직하세요.

Screen 08 — Meeting

실시간으로
함께 이동

친구와 약속을 잡고 서로의 위치를 실시간으로 확인하세요. 만나기까지의 모든 순간을 지도 위에서 함께합니다.

약속 생성

장소, 시간, 이동 수단을 설정해 친구에게 약속을 보내세요. 각자의 예상 도착 시간이 계산됩니다.

실시간 위치 공유

출발 후 서로의 위치가 지도 위에 실시간으로 표시됩니다.

만남 완료

서로 가까워지면 자동으로 만남이 완료됩니다. 함께한 순간을 핀으로 남겨 기억을 영구히 기록하세요.

Screen 09 — Profile

나만의
여행 정체성

칭호, 뱃지, 통계가 한 화면에. 내가 어떤 여행자인지 한눈에 보여주는 나만의 프로필입니다.

여행 통계

총 방문지, 감정 분포, 함께한 사람, 날씨 패턴을 프로필 화면에서 바로 확인하세요.

커스텀 테마

내 취향에 맞는 컬러 테마로 앱 전체를 꾸밀 수 있습니다.

소셜 연결

친구 수, 공유한 핀, 받은 반응을 확인하고 여행 커뮤니티를 넓혀보세요.

Screen 10 — Onboarding

지금 바로
시작하세요

Google · Kakao · Apple 로그인으로 10초 안에 시작.
가입 즉시 첫 핀을 심을 수 있습니다.

소셜 로그인

Google, Kakao, Apple 계정으로 즉시 가입. 별도 이메일 입력 없이 한 번의 탭으로 완료됩니다.

5단계 핀 생성 마법사

위치 → 감정 → 동행자 → 날씨 → 공개범위. 직관적인 위자드로 기억을 완성합니다.

테마 & 프로필 커스텀

6종 테마 컬러 + 커스텀 색상, 프로필 사진, 프레임 10종. 나만의 Pinlog를 만드세요.

How it works

세 번의 탭으로
기억이 완성됩니다

Step 01

지도를 탭하세요

지도 위 원하는 곳을 길게 탭하거나 하단 + 버튼을 누르세요. 현재 위치는 자동으로 감지됩니다.

  • Mapbox 기반 실시간 지도
  • 현재 위치 자동 감지
  • 원하는 장소 직접 선택
Step 01 화면
Step 02

순간을 기록하세요

제목 · 감정 · 날씨 · 동행자 · 사진을 5단계 마법사로 입력합니다. 감정 강도 1–5단계로 그날의 온도를 남기세요.

  • 12가지 감정 태그 선택
  • 사진 최대 5장 첨부
  • 동행자 · 날씨 함께 기록
Step 02 화면
Step 03

핀으로 남겨집니다

저장 즉시 지도 위에 내 핀이 심어집니다. 핀이 쌓일수록 랭크가 오르고 특별한 칭호와 뱃지를 수집할 수 있습니다.

  • 지도에 영구 저장
  • 칭호 · 뱃지 수집 시스템
  • 친구와 공유 가능
Step 03 화면
3D 지구본

3D Globe

지구 위의
내 이야기

Mapbox 3D 지구본 위에서 내가 다녀온 모든 곳을 입체적으로 확인하세요. 핀이 쌓일수록 지구 위에 나만의 여행 지도가 완성됩니다.

지도를 탭하는 순간,
기억이 시작된다.

Live Map

지도 위에서
모든 것을

Mapbox 기반 고해상도 지도 위에 핀을 심으세요. 줌 레벨에 따라 핀이 클러스터로 묶이고, 필터로 원하는 기억만 골라볼 수 있습니다.

지도 위 핀 표시

Features

핀에 담을 수 있는
모든 것

감정 태깅

그 순간의 감정을 기록하세요. 좋아요부터 별로에요까지, 감정 강도 1–5로 세밀하게 남깁니다.

날씨 기록

맑음, 비, 흐림, 눈, 바람. 그날의 하늘도 핀과 함께 기억됩니다. 날씨는 기억의 일부니까요.

동행자

혼자였는지, 누구와 함께였는지도 남길 수 있습니다. 함께한 사람도 소중한 추억입니다.

사진 첨부

핀마다 사진을 첨부할 수 있습니다. 텍스트로 다 담기 어려운 순간을 사진으로 남기세요.

공개 범위

전체공개, 친구공개, 나만보기. 핀마다 공개 범위를 설정해 나만의 비밀 핀도 만들 수 있습니다.

핀 클러스터링

여러 핀이 모인 곳은 자동으로 클러스터로 표시됩니다. 내 여행의 밀도를 한눈에 확인하세요.

Emotion

감정까지
기록하다

단순한 위치 기록이 아닙니다. 그날의 감정, 날씨, 함께한 사람, 감정의 강도까지 — 핀 하나에 그 순간 전체를 담습니다.

감정 강도

강해요 — 오늘은 정말 좋은 하루였다

좋아요
행복한 기억
별로에요
솔직한 기록
맑음
그날의 하늘
빗소리의 기억

Social

함께 기록하는
또 다른 지도

친구를 추가하고 같은 지도 위에서 서로의 발자국을 나눠보세요. 약속을 잡고 실시간으로 위치를 공유하며, 만나는 순간까지 함께할 수 있습니다.

Collection

여행할수록
성장하는 나

핀을 심을수록 칭호가 오릅니다. 12가지 특별한 뱃지도 수집해보세요.

여행새내기
시작
나들이러버
5곳~
여행자
15곳~
탐험가
30곳~
여행달인
60곳~
첫 여행지
5곳 달성
10곳 달성
30곳 달성
최고의 여행
솔로 트래블러
동행 트래블러
날씨무관
사계절
이달의 여행자
여행 베테랑
주말 여행러

Route

지나온 길을
돌아보다

핀들을 잇는 폴리라인으로 내가 걸어온 경로를 시각화합니다. 발자국 하나하나가 모여 나만의 여행 루트가 완성됩니다. 어떤 길을 걸어왔는지, 지도 위에서 다시 돌아보세요.

Competitive Analysis

경쟁사 대비
Pinlog의 차별점

기존 서비스들은 위치·감정·소셜을 통합해서 다루지 못한다.

기능 Pinlog 여행일기 / 트립픽 인스타그램 AMOU
지도 기반 기록
감정 / 날씨 태깅
3D 지구본 시각화
친구 소셜 / 공유 지도
수집 / 뱃지 시스템
오프라인 로컬 저장
실시간 위치 공유 / 약속

Team

팀 구성 &
역할

C
최다울
팀장 · 총괄
Flutter iOS Supabase
J
조혜연
UX/UI 디자인 · 기획
Figma UX 리서치 기획
C
추형우
풀스택 엔지니어
Flutter Backend DB
J
정원
총괄
기획 QA 문서화

Demo

30초로 보는
Pinlog

지도를 탭하는 순간부터 핀이 심어지기까지 — 핵심 흐름을 직접 확인하세요.

Tech Stack

개발 스택 &
관리 방법

단일 코드베이스로 iOS를 타겟하되, 지도·서버·알림 각 영역에 최적의 도구를 선택했습니다.

F
Flutter + Dart
크로스플랫폼 네이티브 앱 프레임워크. Dart SDK ^3.11.4
단일 코드로 iOS/Android 동시 지원
M
Mapbox Maps Flutter ^2.3.0
3D 지구본(Globe Projection), 커스텀 마커 Canvas 렌더링, 클러스터링
Google Maps 대비 3D 지구본 + 자유로운 마커 커스텀
S
Supabase
PostgreSQL DB + Auth + Storage + Realtime + Edge Functions
Firebase 대비 RLS 기반 복잡한 소셜 쿼리에 유리
R
Riverpod ^2.6.1
Flutter 상태관리. code generation 기반 Provider + Notifier 패턴
타입 안전 + 컴파일 타임 의존성 주입
H
Hive + FCM
Hive: 경량 로컬 NoSQL DB (오프라인 우선). FCM: 크로스플랫폼 푸시 알림
오프라인 핀 조회 + 친구 초대 실시간 알림
프로젝트 관리
Git + GitHub — 브랜치 전략 (main / daoule), 기능별 커밋
Supabase Dashboard — DB 스키마 관리, RLS 정책, Edge Function 배포
Xcode — iOS 빌드, 코드사인, 실기기 테스트
Vercel — 랜딩 웹(pinlog.site) CI/CD 자동 배포
flutter analyze — 매 세션 이슈 0개 유지. 코드 품질 관리

Problem & Solution

맞닥뜨린 문제들,
해결한 방법들

개발 과정에서 발생한 핵심 기술 문제와 그 해결 과정입니다.

01 / Mapbox
지도 핀 마커
잔상 버그
map_controller.dart
// 줌 변경 시 마커 재렌더링
deleteAll();
createMulti(opacity: 0.0); // fade-in
// ↑ 다음 줌 이벤트 도달 → ghost
⚠ ghost marker visible on real device
해결
opacity 페이드인 전체 제거. deleteAllcreateMulti(opacity:1.0) 직접 호출. 뮤텍스 finally의 300ms 지연도 함께 제거.
02 / Auth
OAuth 로그인
콜백 누락
Xcode Console
// Safari → App 전환 후
❌ supabase.auth.session == null
// URL Scheme 미등록
// io.supabase.pinlog not found in Info.plist
AuthException: callback not received
해결
Info.plist에 io.supabase.pinlog URL Scheme 추가. auth_provider에 isOAuthWaiting guard로 콜백 수신 전 상태 변경 방지.
03 / Sync
핀 데이터
서버 미동기화
pin_sync_service.dart
void syncFromServer() {
if (!isEnabled) return; // ← 항상 false
// Supabase 쿼리 미실행
}
⚠ pins.length == 0 (expected: 12)
해결
isEnabled guard 제거. PinsNotifier 생성자에 _initFromServer() 추가. main_shell에 auth 리스너 연결 → 로그인 시 자동 다운로드.