문제 해결 스토리
어떤 일을 했나
- 출발 시간 계산 핵심 로직과 준비 카드 UX를 설계/구현했습니다.
- 요일별 반복 스케줄과 체크리스트를 결합한 루틴 기능을 만들었습니다.
예상 문제점 5개와 해결 방법
문제 1
첫 설정이 복잡하면 사용자가 계산 자동화의 가치 전에 이탈할 가능성이 있었습니다.
해결
필수 입력만 받는 온보딩과 카드 템플릿을 제공해 첫 설정 시간을 줄였습니다.
문제 2
실제 이동 시간 변동(교통/날씨) 때문에 계산 결과 신뢰도가 떨어질 수 있었습니다.
해결
이동 시간 보정값과 버퍼 옵션을 제공해 변동 상황에서도 도착 안정성을 확보했습니다.
문제 3
알림이 많아지면 사용자에게 피로감을 주고 기능 비활성화로 이어질 위험이 있었습니다.
해결
준비/출발 알림을 분리하고 조용히 모드를 제공해 알림 피로를 완화했습니다.
문제 4
평일/주말/방학 등 일정 변화가 많아 관리가 번거로워지는 문제가 있었습니다.
해결
요일 반복·기간 설정·학사일정 연동으로 일정 변경을 자동 반영하도록 구성했습니다.
문제 5
기기 교체나 재설치 시 저장 데이터 유실에 대한 불안이 있었습니다.
해결
로컬 백업/복원 가이드를 제공해 데이터 유실 상황에서 복구 가능성을 높였습니다.
결과와 배운 점
- 반복 계산을 자동화해 일상 준비 시간을 줄이는 명확한 가치를 만들었습니다.
- 개인정보를 서버에 보내지 않는 오프라인 우선 경험을 구현했습니다.
"그래서, 몇 시에 나가야 돼? Listo가 계산해드립니다"
Listo는 특정 목적지에 정해진 시간까지 도착해야 할 때, 이동 시간과 준비 시간을 고려하여 최적의 출발 시간을 자동으로 계산하는 스마트 앱입니다.
🎯 프로젝트 개요
한 줄 요약
도착 시간, 이동 시간, 준비 시간만 알려주면 복잡한 계산을 자동으로 해주는 스마트 출발 시간 계산 앱입니다.
문제 해결
매일 아침 "등교 시간은 8시, 이동 시간은 20분, 준비 시간은 10분... 그럼 7시 30분에 나가야 하네?"와 같은 계산을 반복하는 번거로움을 해결합니다.
- 반복 계산의 번거로움: 매일 같은 계산을 머릿속으로 반복
- 시간 관리의 어려움: 준비 시간과 이동 시간을 고려한 정확한 출발 시간 계산
- 스케줄 관리의 복잡성: 반복되는 스케줄을 매번 새로 설정해야 하는 불편함
🚀 핵심 기능
1. 준비 카드 관리
반복되는 스케줄을 준비 카드로 저장하고 관리할 수 있습니다.
- 반복 스케줄 저장: 매일 등교 시간, 주말 학원 시간 등을 미리 설정
- 한 번 설정, 계속 사용: 매번 계산할 필요 없이 자동으로 알림 제공
- 다양한 스케줄 지원: 등교, 학원, 약속 등 모든 일정 관리
2. 스마트 알림
도착 시간에 맞춰 자동으로 준비 시간과 출발 시간 알림을 제공합니다.
- 자동 계산: 준비 시간과 이동 시간을 고려하여 정확한 시간 계산
- 이중 알림: 준비 시간 알림과 출발 시간 알림을 자동으로 제공
- 정확한 타이밍: 도착 시간에 맞춰 정확한 시간에 알림
3. 활성 요일 설정
필요한 요일에만 알림을 받을 수 있습니다.
- 유연한 스케줄링: 매일, 매주말, 매평일 또는 개별 요일 선택
- 선택적 알림: 필요 없는 날에는 알림이 울리지 않음
- 맞춤형 관리: 각 스케줄에 맞는 요일 설정
4. 체크리스트
준비할 항목을 체크리스트로 관리할 수 있습니다.
- 준비 항목 정리: 가방 챙기기, 과제 확인 등 준비할 항목 미리 정리
- 놓치는 일 방지: 체크리스트로 빠뜨리는 항목 없이 준비
- 습관 형성: 반복적인 체크리스트로 준비 습관 형성
5. 학사일정 관리
캘린더 연동으로 방학/학기 일정을 자동 관리할 수 있습니다.
- 자동 전환: 방학 중에는 다른 시간으로 자동 전환
- 캘린더 연동: 학사일정과 연동하여 자동 관리
- 유연한 설정: 방학/학기별 다른 스케줄 설정
6. 조용히 모드
알림은 받되 소리만 끌 수 있습니다.
- 방해 없는 알림: 조용한 환경에서도 알림을 놓치지 않음
- 선택적 소리: 소리만 끄고 진동이나 화면 알림은 유지
- 상황별 설정: 환경에 맞는 알림 설정
📱 사용 예시
예시 1: 등교 준비
- 도착 시간: 08:00
- 이동 시간: 20분
- 준비 시간: 10분
- → 출발 시간: 07:30
Listo가 자동으로 계산하여 알림을 보내드립니다.
예시 2: 방과 후 준비
- 도착 시간: 15:00
- 이동 시간: 20분
- 준비 시간: 5분
- → 출발 시간: 14:35
준비 카드로 저장하면 매일 자동으로 알림을 받을 수 있습니다.
예시 3: 주말 학원 준비
- 도착 시간: 11:30
- 이동 시간: 15분
- 준비 시간: 10분
- 활성 요일: 매주 토요일, 일요일
- → 출발 시간: 11:05
주말에만 알림을 받도록 설정할 수 있습니다.
🛠️ 기술 스택
Frontend Development
- Flutter: iOS와 Android를 동시에 지원하는 크로스 플랫폼 프레임워크
- Dart: Flutter의 프로그래밍 언어로 타입 안전성과 성능 최적화
Local Storage
- 로컬 데이터베이스: 모든 데이터를 기기 내부에 저장
- 서버 없음: 개인정보 보호를 위한 완전한 오프라인 동작
Platform Features
- 알림 시스템: 네이티브 알림 API 활용
- 캘린더 연동: 시스템 캘린더와 연동
- 로컬 저장소: 안전한 로컬 데이터 저장
🔒 개인정보 보호
Listo는 서버를 운영하지 않습니다.
- 완전한 오프라인: 모든 데이터는 사용자의 기기 내부에만 저장
- 데이터 수집 없음: 서버로 전송되거나 외부로 수집되는 데이터 없음
- 완벽한 프라이버시: 개인정보 보호가 완벽하게 보장
📱 플랫폼 정보
- 플랫폼: iOS, Android
- 카테고리: 생산성, 라이프스타일
- 언어: 한국어
💡 프로젝트를 통해 배운 것
사용자 경험 설계
단순한 계산 기능을 넘어서, 반복되는 일상의 번거로움을 해결하는 서비스를 설계하는 방법을 배웠습니다. 사용자가 매일 겪는 작은 불편함을 해결하는 것이 큰 가치를 만들 수 있음을 깨달았습니다.
오프라인 우선 설계
서버 없이 완전히 로컬에서 동작하는 앱을 만들면서, 개인정보 보호와 사용자 프라이버시를 최우선으로 고려하는 설계 방식을 경험했습니다.
실용성 중심 개발
복잡한 기능보다는 사용자가 실제로 필요로 하는 핵심 기능에 집중하여, 간단하지만 강력한 도구를 만드는 것이 중요함을 배웠습니다.

