졸업프로젝트 1학기 기말고사

기억을 심다.

위치 기반 감정 일기 앱, Pinlog

지금 체험하기 더 알아보기
6단계
핀 생성 위자드
12가지
감정 타입
3D
지구본 뷰
실시간
소셜 연결
SCROLL

기억은 흐릿해지고,
기록은 파편화된다

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

경쟁사 대비
Pinlog의 차별점

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

기능 Pinlog 여행일기 / 트립픽 인스타그램 AMOU

개발 스택 &
아키텍처

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

F
Flutter + Dart
크로스플랫폼 네이티브 앱 프레임워크. Dart SDK ^3.11.4
단일 코드로 iOS/Android 동시 지원
M
Mapbox Maps Flutter
3D 지구본 Globe Projection, 커스텀 마커 Canvas 렌더링, 클러스터링
Google Maps 대비 3D 지구본 + 자유로운 커스텀
S
Supabase
PostgreSQL DB + Auth + Storage + Realtime + Edge Functions
RLS 기반 복잡한 소셜 쿼리에 유리
상태 · 알림 · AI
Riverpod ^2.6.1
타입 안전 상태관리. Provider + Notifier 패턴
Hive + FCM
오프라인 로컬 DB + 크로스플랫폼 푸시 알림
Gemini API
사진 + 카테고리 기반 핀 제목 AI 자동 추천
Why Pinlog
여행은 흘러가지 않는다.
핀 하나로, 그 순간은
영원히 남는다.

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

Step 01

지도를 길게 눌러
핀을 심을 곳을 고르세요

Mapbox 기반 고해상도 지도 위 어디서든 핀을 심을 수 있습니다. 현재 위치는 자동으로 감지되고, 원하는 장소를 직접 선택해도 됩니다.

Mapbox GL 현재 위치 자동 감지 핀 클러스터링
Step 02

감정·사진·동행자를
한 번에 기록하세요

6단계 위자드로 카테고리, 감정 강도, 날씨, 동행자, 사진까지 완성합니다. AI가 카테고리에 맞는 제목을 자동으로 추천해 드립니다.

12가지 감정 사진 최대 5장 AI 제목 추천
Step 03

핀이 지도 위에
영원히 새겨집니다

저장 즉시 지도 위에 핀이 심어집니다. 핀이 쌓일수록 칭호가 오르고 특별한 뱃지를 수집하며, 친구와도 공유할 수 있습니다.

지도에 영구 저장 칭호 · 뱃지 수집 친구 공유

함께 기록하는
또 다른 지도

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

활동 히트맵
Activity

매일의 기록을
한눈에 돌아보다

히트맵 캘린더로 기록이 많은 날을 확인하세요. 핀이 쌓일수록 칭호가 오르고 12가지 특별한 뱃지를 수집합니다. 나만의 여행 도감이 완성됩니다.

히트맵 캘린더 주간 · 월간 리캡 뱃지 컬렉션

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

Features

Pinlog이 특별한 이유

단순한 메모가 아닙니다. 당신의 삶이 지도 위에 새겨집니다.

위치 기반 핀 기록

장소에 감정과 순간을 연결합니다. 그 위치로 돌아가면 기억도 함께 돌아옵니다.

감정 강도 기록

12가지 감정과 1–5단계 강도를 기록해 나만의 감정 히스토리를 만들어가세요.

3D 지구본 뷰

핀을 지구본 위에서 조망합니다. 내가 살아온 궤적이 지구 위에 펼쳐지는 감동.

소셜 & 약속 기능

친구와 핀을 공유하고, 같은 장소에서 만날 약속을 실시간 알림과 함께 잡아보세요.

활동 리캡 & 배지

주간·월간 활동을 자동 분석해 리캡을 제공합니다. 꾸준함에 배지로 보상합니다.

AI 제목 추천

카테고리와 감정에 맞는 제목을 AI가 자동 제안합니다. 기록의 시작이 더 쉬워집니다.

여행할수록
성장하는 나

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

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

지나온 길을
돌아보다

핀들을 잇는 폴리라인으로 내가 걸어온 경로를 시각화합니다. 발자국 하나하나가 모여 나만의 여행 루트가 완성됩니다.

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

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

01 / Mapbox
지도 핀 마커
잔상 버그
map_screen.dart
deleteAll() → createMulti(
opacity: 0.0
)
⚠ ghost marker on real device
Solution
opacity 페이드인 제거. createMulti(opacity:1.0) 직접 호출. 뮤텍스 지연도 제거.
02 / Auth
OAuth 로그인
콜백 누락
auth_provider.dart
// Safari → App 전환 후
❌ supabase.auth.session == null
// URL Scheme 미등록
Solution
Info.plist에 io.supabase.pinlog URL Scheme 추가. isOAuthWaiting guard 적용.
03 / Sync
핀 데이터
서버 미동기화
pin_provider.dart
syncFromServer() {
if (!isEnabled) return; }
⚠ pins.length == 0 (expected: 12)
Solution
isEnabled guard 제거. 생성자에 _initFromServer() 추가. auth 리스너 연결.

팀 구성 &
역할

최다울
팀장 · 총괄
FlutteriOSSupabase
조혜연
UX/UI 디자인 · 기획
FigmaUX 리서치기획
추형우
풀스택 엔지니어
FlutterBackendDB
정원
자료조사 & 문서화
기획QA문서화

지금, 당신의
지도를 만들어보세요.

Pinlog는 현재 베타 테스트 중입니다.
TestFlight으로 지금 바로 체험할 수 있습니다.