요즘 Kanbox라는 iOS 앱을 만들고 있다. 이번 글에서는 지금까지 어디까지 만들었는지 먼저 소개하고, 실제로 내보낸 공유 이미지 몇 장을 올린다. 구체적인 개발 과정은 다음 글에서 다룰 예정이다.
만든 이유는 그렇게 복잡하지 않다. 샤오홍슈의 이미지 글, 도우반의 영화, 샤오위저우의 팟캐스트, GitHub 프로젝트는 각자 저장하는 입구가 따로 있다. 그런데 예전에 저장해 둔 걸 다시 찾으려면 그게 어디서 왔는지부터 떠올려야 한다. 이 링크들을 한곳에 모아 두고, 왜 저장했는지도 같이 적어 두고 싶었다.
일단 콘텐츠부터 담기
지금은 시스템 공유 메뉴, 클립보드, 앱 내 추가, 단축어를 통해 링크를 모을 수 있다. 파싱할 수 있는 제목, 작성자, 본문, 이미지는 함께 저장되고 원본 링크도 남는다.
이번에 넣어 본 건 레시피 하나, 이스탄불 사진 한 묶음, 영화 두 편, 팟캐스트 두 회차, 그리고 Coralbay-Rules와 Nodus 두 프로젝트다. 모두 실제 링크이고, 아래 공유 이미지도 이 콘텐츠로 만들었다.
홈 화면에는 2열 그리드와 갤러리 레이아웃도 있다. 글을 읽고 싶을 때는 1열로, 이미지를 찾을 때는 다른 배치로 바꾸면 된다. 북마크는 처음부터 분류해 둘 필요 없이 나중에 태그와 노트를 붙여도 된다.

Kanbox-01 흐름도: 일단 담고, 천천히 정리하기
저장할 때부터 분류를 끝낼 필요는 없다. 원본 링크를 먼저 남기고, 파싱할 수 있는 내용을 함께 저장한 뒤 태그와 내 노트를 덧붙이면 된다. 특정 플랫폼에서 실패했다고 해서 그 링크를 버리는 건 아니다.
북마크를 공유 이미지로 만들기
공유 이미지에는 상세 카드, 9칸 그리드, 워터폴 콜라주 세 가지 레이아웃이 있고 색상과 텍스트 스타일도 조정할 수 있다. 작성자, 본문, 미디어, 날짜, 태그, QR 코드는 각각 켜고 끌 수 있으며 자주 쓰는 설정은 기본 스타일로 저장할 수 있다.
아래 여덟 장은 모두 원본 비율로 만들었다. 긴 콘텐츠는 전체 본문을 펼치거나 요약을 쓸 수 있다. 내보내기 전에 이번 공유에 쓸 문구만 따로 고칠 수도 있고, 그 변경이 원본 북마크에 기록되지는 않는다. 내용이 너무 길면 여러 장으로 나눌 수 있다.
본문 안의 미리보기는 원본 비율로 축소되고, 이미지 아래 링크를 누르면 원본 해상도로 볼 수 있다.

Kanbox-01 흐름도: 공유 이미지는 이번 표현을 바꾸는 것이지 원본 북마크를 바꾸는 게 아니다
공유 이미지에는 자체 레이아웃과 문구가 있다. 필드, 요약, 이번 문구를 조정해 내보내도 그 변경이 원본 북마크에 기록되지는 않는다. 긴 콘텐츠는 여러 장으로 나눌 수도 있다.
이미지 글, 영화, 팟캐스트, 프로젝트
샤오홍슈: 레시피와 사진
일식기(日食記)의 이 레시피는 영상 노트다. 공유 이미지에는 파싱된 커버와 텍스트가 들어가고, 영상은 해당 재생 입구나 원본 게시물에서 봐야 한다.

일식기 레시피의 공유 이미지
말초와 신경의 이스탄불 사진 묶음은 실제로 이미지 11장을 읽어왔다. 앱 안에서 한 장씩 열고 확대할 수 있고, 아래 상세 카드는 이 묶음 전체를 한데 모아 보여준다.

이스탄불 사진의 공유 이미지, 이미지 11장 포함
도우반: 영화 정보
도우반 영화는 별도의 상세 레이아웃을 쓴다. 평점, 원제, 지역, 장르, 개봉일, 상영 시간이 앞에 오고 그 아래에 포스터, 출연진, 줄거리가 온다.
이번에는 《세 얼간이》와 《록 스탁 앤 투 스모킹 배럴》을 가져왔다. 두 장의 공유 이미지에는 영화 정보와 원본 비율 포스터가 담겼고 줄거리는 요약을 썼다. 평점과 평가 수는 당시 읽어온 데이터라 나중에 바뀔 수 있다.

세 얼간이의 공유 이미지

록 스탁 앤 투 스모킹 배럴의 공유 이미지
샤오위저우: 특정 회차 하나
팟캐스트는 개별 에피소드 링크를 저장하며, 에피소드 제목, 커버, 설명을 볼 수 있고 쓸 수 있는 온라인 오디오 입구도 있다. 재생에는 네트워크가 필요하고, 저장했다고 해서 그 회차 오디오 전체를 내려받은 건 아니다.
여기 두 회차는 각각 Photo Reason의 사진작가 옌자린 대담과 《암중화술(岩中花述)》에서 루위와 마이리리의 대화다. 공유 이미지는 커버와 설명 요약을 보여주고, 재생은 앱 안이나 원본 플랫폼에서 연다.

Photo Reason 이번 회차의 공유 이미지

암중화술 이번 회차의 공유 이미지
GitHub: 프로젝트 소개 한 조각 남기기
GitHub 저장소는 작성자, 프로젝트 소개, 토픽 태그, README를 읽어오려고 시도한다. 이번에는 내 프로젝트 두 개를 썼다. Coralbay-Rules는 구독 변환과 분기 설정을 하고, Nodus는 frpc용 웹 관리 패널을 만든다.
전체 README는 북마크에 남기고, 짧은 공유 이미지에는 소개와 일부 내용만 넣는다. 저장소 통계 역시 가져온 시점의 상태다.

Coralbay-Rules의 공유 이미지

Nodus의 공유 이미지
저장한 뒤 어떻게 찾을까
별표로 중요한 내용을 먼저 표시하고, 태그로 분류한다. 홈 화면의 출처, 유형, 시간 필터는 범위를 좁히는 데 적합하다. 검색은 내 북마크와 작성자를 찾는다.
예를 들어 "이스탄불"을 검색하면 그 사진 북마크와 해당 작성자를 찾을 수 있고, 본문 속 키워드도 강조된다.
영감 모음은 순서가 있는 태그 한 묶음으로 콘텐츠를 정리한다. 노트는 따로 쓸 수도 있고 특정 북마크에 붙일 수도 있다. 저장한 이유 한 줄, 떠오른 생각 하나, 또는 팟캐스트에서 다시 듣고 싶은 시점을 적어 두면 된다. 랜덤 회고와 위젯은 예전 북마크를 뒤지는 또 다른 입구다.

Kanbox-01 흐름도: 기억나는 것에 맞는 입구로 찾기
검색, 필터, 회고는 출발점이 다르다. 키워드가 있으면 검색하고, 출처나 시간만 기억나면 필터로 좁히고, 목표가 없으면 무작위로 넘긴다. 태그와 노트는 나중에 찾을 때 필요한 단서를 채워 준다.
현재 상태
Kanbox는 아직 개발 중이다. 인터페이스는 SwiftUI, 로컬 데이터는 SwiftData를 쓰고, 최소 시스템 버전은 iOS 18이며 iPhone과 iPad를 대상으로 한다. 시스템 공유 확장, 단축어, 위젯도 이미 있다.
한계도 있다. 플랫폼 개편, 로그인 제한, 미디어 주소 만료는 파싱에 영향을 준다. 실패하면 원본 링크와 설명을 남긴다. CloudKit은 연동했지만 기기 간 동기화는 아직 완전히 검증해야 한다. ZIP 백업은 북마크, 노트, 모음 메타데이터, 로컬 노트 이미지를 저장하며 모든 원격 영상, 오디오, 이미지를 포함하지는 않는다.

Kanbox-01 흐름도: 북마크, 백업, 원격 미디어가 각각 무엇을 남기는가
링크를 저장하는 건 원격 파일을 전부 내려받는 것과 다르다. ZIP은 주로 북마크와 노트 같은 로컬 데이터를 백업한다. CloudKit 연동도 기기 간 동기화가 완전히 검증됐다고 미리 써 둘 수는 없다.
이 글은 2026년 10월 2일 기준 개발 상태를 기록한 것이며, 아직 다운로드 입구는 제공하지 않는다. 두 번째 글에서는 링크 파싱을 이어서 쓴다. 플랫폼마다 데이터를 어떻게 가져오는지, 실패하면 어떻게 처리하는지 다룬다.
본문의 공유 이미지 여덟 장은 Kanbox가 공개 링크를 실제로 가져와 생성한 것이다. 미리보기는 원본 비율로 축소했고, 전체 파일은 블로그 OSS에 저장돼 있다. 제3자의 텍스트, 사진, 포스터, 커버, 로고는 원 권리자에게 있으며 출처는 본문 링크를 참고하면 된다.