Skip to main content

Command Palette

Search for a command to run...

기술적 불확실성을 넘어 프로덕트 런칭까지

Apple Developer Academy 챌린지 6 회고

Updated
3 min read
S

Hello, I'm Sijun Yang, a Software Engineer. I'm a developer who is happiest when coding. Give me a computer, a terminal, and Dark Mode, and I'm ready for anything.

Handong Global University: Completed 2nd year, Advanced Major in AI & Computer Science (Currently on a leave of absence) Apple Developer Academy @ POSTECH: Alumnus of the Cohort 2025

English version of this article (here)

지난 3개월간 애플 디벨로퍼 아카데미의 마지막 프로젝트인 챌린지 6를 진행하며 가장 치열한 시간을 보냈습니다. 동시에 두 개의 앱 배포, 그리고 쇼케이스까지 이어진 과정에서 엔지니어로서 경험한 기술적 도전과 배움을 정리해 봅니다.

1. 기술보다 중요한 것은 '문제 정의' (첫 번째 피벗)

첫 프로젝트는 수면 관리 앱이었습니다. NFC 태그Screen Time API 제어를 활용해, 설정한 시간에 앱 사용을 제한하는 기능을 구현했습니다. 기술적 구현은 완성도 있었고 디자인도 훌륭했지만, 유저 테스트 결과 실질적인 수면 문제 해결로 이어지지 않는다는 것을 확인했습니다. "작동하는 코드"보다 "필요한 솔루션"이 우선임을 인정하고, 1개월간 공들여 개발하던 앱을 과감히 폐기하는 결정을 내렸습니다.

2. 레퍼런스가 없는 환경에서의 기술 도전: IMDF와 실내 지도

새로운 도전으로 Apple의 Indoor Maps Program을 활용한 실내 지도 구현을 선택했습니다. Apple의 IMDF(Indoor Mapping Data Format) 표준을 준수해야 했으나, 국내 레퍼런스가 전무했고 자동화 툴조차 맞지 않았습니다. 결국 팀원들과 함께 수작업으로 좌표 데이터를 생성하고, Apple의 엄격한 스키마 유효성 검사를 통과하기 위해 데이터를 역설계하며 지도를 구축했습니다. 이 과정에서 MapKit과 지리 데이터 처리 로직에 대한 깊은 이해를 얻을 수 있었습니다.

실내 지도 프로젝트는 Apple의 승인 등 절차가 복잡하여 한정된 챌린지 기간 내에 완성하지 못할 리스크가 존재했습니다. 이에 따라 전략적으로 사이드 프로젝트로 전환하여 진행했고, 결국 승인을 받아 애플 디벨로퍼 아카데미 쇼케이스 정보 안내 앱, 'ShowX'를 완성했습니다.

  • [App Store - ShowX]: https://apps.apple.com/kr/app/showx/id6755496321

3. On-Device AI와 App Extension: 기술적 제약을 넘어선 에이전트 앱 구현

3개월의 프로젝트 기간 중 단 1개월을 남기고 팀의 메인 프로덕트가 결정되었습니다. 스크린샷과 링크를 분석해 아카이빙하고, 사용자에게 적절한 리마인드를 제안하는 에이전트 앱 'kip!'입니다.

서버 비용 절감과 개인정보 보호를 위해 On-Device AI(Foundation Models)를 채택했고, 이후 확장성을 위해 OpenAI의 GPT와 Google의 Gemini API를 추가 지원하도록 구현했습니다. 비정형 데이터를 처리하여 사용자에게 유의미한 제안을 하는 로직을 최적화하는 데 집중했습니다.

또한 앱 진입 없이 '공유하기' 동작만으로 주요 로직을 처리할 수 있도록 Share Extension을 구현했습니다. 특히 Share Extension의 엄격한 메모리 제한을 고려한 설계, App Group을 활용한 Shared Container 및 파일 저장소 동기화 등 다양한 기술적 난관을 해결하며 앱의 완성도를 높였습니다.

단순히 버그 없이 작동하는 것을 넘어, 매끄러운 사용자 경험을 제공하기 위해 PO, UX/UI 디자이너, 동료 개발자들과 끊임없이 소통하고 코드를 리뷰하며 프로덕트를 빚어냈습니다.

  • [App Store - kip!]: https://apps.apple.com/kr/app/kip/id6754709167

  • [왓더앱 - kip!, 아카이브를 더 똑똑하게 해준다면.]: https://maily.so/whattheapp/posts/32z84k34rn4

  • [방구석 리뷰룸 YouTube, kip! 소개]: https://youtu.be/_vLAQbxVqhI?si=BIc3-LkQJOXShvci&t=1002

4. 쇼케이스와 배포, 그리고 결과

쇼케이스 지원을 위해 개발한 실내 지도 앱 'ShowX'는 Apple Indoor Maps Program으로 구현된 실내 지도 국내 최초 사례가 되었습니다. 또한 메인 프로덕트 'kip!'은 테크 유튜버 시연 직전까지 기능 안정화와 핫픽스를 배포하며, 실제 라이브 환경에서의 엣지 케이스를 안정적으로 처리했습니다.

마치며

이번 프로젝트를 통해 얻은 가장 큰 자산은 '팀워크와 시너지'입니다. 디자이너, 도메인 러너, 그리고 동료 개발자들과 함께 기획 단계부터 구현 가능성을 검토하고, 기술적 난관을 만났을 때 대안을 찾아가는 과정 자체가 큰 학습이었습니다.

서로를 신뢰할 수 있는 실력과 태도를 갖춘 팀원들과 함께였기에, 개인의 합을 넘어선 임팩트를 만들 수 있었습니다. 최고의 팀원들과 멘토님들께 감사드립니다.

이제 아카데미라는 샌드박스를 벗어나, 현업에서도 이 치열함을 바탕으로 문제를 해결하는 엔지니어가 되겠습니다.

  • [TNT Lab 블로그]: https://tntlab.xyz/blog/

More from this blog

yangsijun.log()

2 posts

The log of Software Engineer Sijun Yang. A place where I share what I read, learn, and experience. 소프트웨어 엔지니어 양시준의 로그입니다. 읽고 공부하고 경험한 것들을 나누는 곳입니다.