SMART LOTTO 개발기 1편 — 2020년 12월, 왜 로또 앱이었나

2020년 12월 16일 오후 12시 22분
지금도 기억합니다. TestFlight에 첫 빌드를 올린 순간.
그게 제 첫 번째 iOS 앱의 시작이었습니다. Swift, UIKit, 2주 개발. 그리고 주제는 로또였습니다.
왜 하필 로또였을까
iOS 개발을 배우고 처음 뭔가를 만들어보고 싶다는 생각이 들었을 때, 조건이 있었습니다.
- 너무 어렵지 않을 것
- 실제로 쓸 사람이 있을 것
- 내가 개선할 수 있는 불편함이 보일 것
앱스토어에 로또 앱을 검색해봤습니다. 종류가 꽤 많았습니다. 그런데 대부분 기능이 비슷했습니다. 랜덤으로 번호 뽑아주는 것. 최신 당첨 번호 보여주는 것. 거기서 끝.
불편함이 보였습니다. 로또를 진지하게 사는 사람들은 단순 랜덤 추첨을 원하는 게 아니었습니다. "홀수가 3개 이상 나오게", "합계가 100~150 사이로", "7번은 꼭 넣어줘" 같은 조건들을 직접 설정하고 싶어 했습니다. 그런데 그걸 지원하는 앱이 없었습니다.
거기서 기획이 시작됐습니다.
2주 안에 만들어보자
처음부터 완성도 높은 앱을 만들겠다는 생각은 없었습니다. 일단 동작하는 걸 만들고, 출시하고, 반응을 보는 것. 그 사이클을 빠르게 한 번 돌려보고 싶었습니다.
기획 단계에서 핵심 기능을 세 가지로 정했습니다.
- 통계 분석 — 역대 당첨 번호 데이터를 기반으로 번호별 출현 빈도, 패턴 시각화
- 조건 기반 번호 생성 — 홀짝 비율, 합계 범위, 포함/제외 번호를 설정해서 번호 뽑기
- 명당 판매점 찾기 — 전국 1등 당첨 이력이 있는 판매점 지도 표시
이 세 가지면 기존 앱들과 충분히 차별화가 될 것 같았습니다.
Swift UIKit, 2주
지금 돌아보면 무모한 일정이었습니다. 아직 Swift가 익숙하지 않은 상태에서 데이터 통신, 로컬 DB, 지도, 차트를 전부 2주 안에 구현하겠다는 거였으니까요.
그런데 이상하게도 가능했습니다. 오히려 제한된 시간이 집중력을 만들어줬습니다. 지금 구현할 수 있는 것만 만들고, 불필요한 고민은 나중으로 미루고, 일단 돌아가게 했습니다.
2020년 12월 16일 오후 12시 22분. TestFlight 첫 빌드 등록.
앱스토어 심사를 통과하고 정식 출시한 건 그로부터 며칠 뒤였습니다. 버전 1.0.0. 지금은 1.2.4까지 올라왔지만, 그 첫 버전이 지금의 SMART LOTTO를 만들었습니다.
다음 글에서는 이 앱에서 가장 까다로웠던 문제인 데이터 설계를 이야기해보겠습니다.