도입: 쓸모없음이 만들어낸 바이럴
2FA(이중 인증) 코드를 입력할 때, 누구나 한 번쯤 '000000'이나 '123456' 같은 숫자가 뜨면 묘한 쾌감을 느낀 적이 있을 것이다. iOS 개발자 Jacob Bartlett은 이 사소한 즐거움을 하나의 앱으로 만들었다. "Check 'em"이라는 이름의 이 2FA 앱은 인증 코드 중 반복 숫자(quads, quints), 연속 숫자, 원주율(314159) 같은 흥미로운 패턴이 생성될 때 푸시 알림을 보내준다.
Reddit에서 230점 이상의 반응을 얻으며 화제가 된 이 프로젝트는, 기술적으로는 TOTP 알고리즘의 동작 원리부터 백그라운드 처리, 최적화 문제까지 다양한 엔지니어링 과제를 담고 있다. '쓸모없는 사이드 프로젝트'라는 겉모습 뒤에 숨은 기술적 깊이를 살펴보자.
기술 분석: TOTP의 원리와 패턴 탐지
TOTP(Time-based One-Time Password)의 동작 원리
TOTP는 놀라울 정도로 단순한 개념 위에 세워져 있다. 두 가지 입력값만 있으면 된다:
- 비밀 키(Secret Key): 인증 서비스와 사용자 기기 양쪽에 저장된 공유 비밀
- 현재 시각: 더 정확히는, Unix epoch 이후 경과한 30초 단위 간격의 수
- 백그라운드 처리: iOS의 엄격한 백그라운드 실행 제한 속에서 주기적으로 코드를 생성하고 확인해야 한다
- 스레딩: 메인 스레드를 차단하지 않으면서 대량의 해시 연산을 수행해야 한다
- 알림 최적화: 사용자가 원하는 패턴만 선별적으로 알려줘야 한다
이 두 값을 HMAC-SHA1(또는 SHA256/SHA512) 해시 함수에 넣으면, 우리가 익숙한 6자리 숫자 코드가 결정론적으로 생성된다. 같은 비밀 키와 같은 시간 구간이면 항상 같은 코드가 나온다는 뜻이다. Apple의 CryptoKit이 이 해싱 로직을 기본 제공하므로, 구현 자체는 상당히 직관적이다.
패턴 탐지와 최적화 과제
이 앱의 핵심 엔지니어링 도전은 "미래의 모든 TOTP 코드를 미리 계산해서 패턴을 찾는 것"에 있다. 30초마다 코드가 갱신되므로, 하루에 계정당 2,880개의 코드가 생성된다. 계정이 10개라면 28,800개다.
여기서 발생하는 기술적 문제들:
444444), 연속 숫자(123456), 수학 상수(314159), 회문(123321) 등을 탐지하는 로직이 필요하며, 사용자가 어떤 패턴에 관심이 있는지 커스터마이징할 수 있도록 설계되었다.업계 맥락: 2FA 앱 생태계와 인디 개발의 흐름
현재 2FA 앱 시장은 Google Authenticator, Microsoft Authenticator, Authy 등 빅테크 제품이 지배하고 있다. 최근에는 1Password, Bitwarden 같은 패스워드 매니저가 TOTP 기능을 통합하면서 독립 2FA 앱의 존재 이유가 희미해지고 있는 상황이다.
이런 환경에서 Check 'em은 기능적 차별화가 아닌 감성적 차별화로 틈새를 공략했다. 기술적으로 동일한 TOTP 구현 위에 '재미'라는 레이어를 얹은 것이다. 이는 인디 개발자들이 레드오션에서 살아남는 전략으로 주목할 만하다.
비슷한 맥락의 프로젝트로는 Is It Wednesday?(수요일인지 알려주는 앱), Nothing(아무것도 안 하는 앱) 등이 있다. '쓸모없는 앱'이라는 장르가 하나의 마케팅 전략이자 포트폴리오 차별화 수단으로 자리 잡은 지 오래다.
한국 개발자에게 미치는 영향
사이드 프로젝트 전략
이 프로젝트에서 한국 개발자들이 가져갈 수 있는 실질적 교훈이 있다:
1. TOTP 구현 학습: 인증 시스템의 핵심인 TOTP를 직접 구현해보는 것은 보안 엔지니어링 역량 강화에 좋은 연습이다. RFC 6238 스펙을 읽고 직접 코드로 옮기는 과정은 면접에서도 유용하다.
2. iOS 백그라운드 처리: 한국 앱 시장에서도 알림 기반 앱이 많은데, iOS의 백그라운드 실행 제약을 다루는 노하우는 실무에서 매우 가치가 높다.
3. 포트폴리오 차별화: 기술 블로그와 함께 공개된 이 프로젝트는 "기술력 + 스토리텔링"의 좋은 사례다. 채용 시장에서 단순한 클론 앱보다 훨씬 눈에 띈다.
보안 관점에서의 주의점
재미있는 프로젝트이지만, 2FA 비밀 키를 다루는 앱인 만큼 키 저장소 보안(iOS Keychain 활용), 앱 간 데이터 격리, 백업 시 암호화 등은 반드시 고려해야 한다. 특히 한국 금융권처럼 보안 규제가 엄격한 환경에서는 서드파티 2FA 앱 사용 자체가 제한될 수 있다는 점도 참고할 필요가 있다.
마무리
Check 'em은 단순한 장난감 앱이 아니다. TOTP 알고리즘의 이해, iOS 백그라운드 처리, 대량 데이터의 효율적 패턴 매칭이라는 실전 엔지니어링 과제를 '재미'라는 동기로 풀어낸 프로젝트다. 기술적 깊이와 유머 감각은 양립할 수 있다는 것을 보여주는 좋은 사례이며, 인디 개발자가 포화된 시장에서 주목받는 방법에 대한 힌트를 준다.
토론 질문: 여러분의 사이드 프로젝트 중 '쓸모없지만 기술적으로 배운 것이 많았던' 프로젝트가 있나요? 그리고 TOTP 외에 FIDO2/WebAuthn 같은 차세대 인증 방식이 보편화되면, 이런 류의 프로젝트는 어떻게 변할까요?
🔗 출처: Reddit
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공