요약: AIPicto는 글과 그림을 좋아하는 아내 도연님을 위해 만든 서비스다. 도연님의 그림책과 그림일기를 올려 온라인에서 읽게 한다. 지금은 무료로 열려 있고, 월·연 구독과 건당 구매는 구현해 두었으며 유료 구독 오픈이 목표다. 이 글은 왜 만들었고 누구를 위한 것이며 어떤 제약을 일부러 지키는지 정리한다.
AIPicto는 무엇인가
AIPicto는 그림책을 온라인에서 읽게 하는 서비스다. 지금은 무료이고, 구독·판매 구조는 갖춰 두었다. 저장소 이름이 AIPicto이고, 화면에 노출되는 서비스 이름은 「도연 그림책」이다. 사이트 이름은 코드에 박지 않고 설정값(settings.site_name)을 읽는다.
기존 출판물을 가져다 파는 서점이 아니다. 설계는 AI로 만든 그림책을 대상으로 했고, AI 제작이라는 점이 서가 구성과 발행 속도를 정한다. 실제로는 손으로 그린 작품도 같은 서가에 올라간다.
왜 만들었나
아내인 도연님을 위해 만들었다. 도연님은 글 쓰는 것도, 그림 그리는 것도 좋아한다. 그런 도연님이 만든 그림책과 그림일기 같은 작품을 올려 둘 자리가 필요했고, 추후 독자가 구독해서 볼 수 있게 하자는 생각으로 구독 구조까지 넣었다. 서비스 이름이 「도연 그림책」인 이유도 여기에 있다.
설계는 AI로 만든 그림책을 대상으로 했지만, 실제로는 손으로 그린 그림도 올라간다. 작품을 올리는 공간이 먼저이고 구독은 그 위에 얹은 기능이다. 현재는 무료로 열려 있고, 꿈은 유료 구독을 여는 것이다. 아래의 구독·결제 구조는 그날을 위해 미리 만들어 둔 것이다.
어디서 출발했나
처음부터 그림책 서비스로 시작한 프로젝트가 아니다. 1인 웹에이전시용 CodeIgniter 4 보일러플레이트(회원, 게시판, 배너, 팝업, 주문, 상품이 있는 쇼핑+CMS)를 베이스로 두고, 이를 그림책 구독·열람 서비스로 전환했다. 지금은 무료로 운영 중이고, 부트스트랩 이후 200개가 넘는 이슈와 PR을 거쳐 기능이 쌓였다.
그래서 코드에는 쇼핑 솔루션의 흔적이 남아 있다. 다만 서비스의 사실은 다르다. 물리 상품, 재고, 배송, 교환·반품은 이 서비스에 없다.
누구를 위한 서비스인가
기준이 되는 사용자는 성인 독자다. 본인이 읽으려고 그림책을 찾는 사람이고, 목적은 감상과 소장이다. 아동용 학습 콘텐츠가 아니다. 그래서 화면도 유아용 팔레트나 과장된 둥근 장식으로 기울지 않게 성인 독자 기준으로 맞춘다.
자녀 프로필, 가족 플랜, 독서 뱃지는 있지만 부가 기능이다. 화면 판단의 기준선은 성인 독자다.
세 번째 사용자는 운영자다. 도서, 작가, 시리즈, 구독, 주문, 정산, 게시판을 어드민에서 직접 관리한다. 유료 구독을 열면 입금 확인이 수동이라 매일 들어오는 화면이 된다.

어떻게 읽는가
현재는 무료로 열려 있다. 아래는 유료 구독을 열 때를 전제로 만들어 둔 회원 구조다.
- 월정액·연정액 구독자는 활성 구독이면 등록 시점과 상관없이 전체 도서를 읽는다.
- 무료 회원은 건당 구매로 읽는다. 영구 소장과 15일 기간제 두 종류가 있다.
- 구독자에게는 건당 결제 UI를 보여주지 않는다. 구독자는 구독으로만 읽는다.
- 게스트는 워터마크가 들어간 미리보기만 볼 수 있다.
뷰어는 데스크탑에서 좌우 2면 펼침에 책장 넘김 애니메이션(StPageFlip)을, 모바일에서는 한 장씩 스와이프를 쓴다. 한 권의 기본 구성은 아래와 같다.
표지앞 1 + 작가소개 1 + 작가의말 1 + 본문 18 + 표지뒤 1 = 22면
본문 이미지는 저장하기 어렵게 만들어야 한다는 제약이 있다. 비공개 경로(writable/books/)에 이미지를 두고, HMAC-SHA256 서명 URL(TTL 2시간)과 Canvas 렌더링으로 내보낸다. 원본 URL이 노출되거나 를 직접 넣게 되는 구현은 금지한다. 이 보호가 독자의 읽기 흐름(로딩, 확대, 페이지 이동)을 망치지 않아야 한다는 것도 같이 지킨다.
결제는 무통장입금 하나뿐이다
유료 구독을 열 때의 결제 수단은 무통장입금 하나다. PG 연동도 카드 결제 UI도 없다. 흐름은 이렇다.
- 독자가 구독이나 건당 구매를 주문한다.
- 입금 계좌 안내 메일이 나간다.
- 관리자가 어드민에서 입금자명과 금액을 대사해 확인한다.
- 열람 권한이 자동으로 부여되고 이메일로 알린다.
입금 기한을 넘긴 주문은 배치(orders:expire)가 만료시킨다.

즉시 결제가 아니라 대기 구간이 있는 흐름이다. 이 대기를 숨기지 않고 입금 안내, 확인 대기, 권한 부여를 명확한 상태로 보여주는 것이 원칙이다. 카드 결제처럼 보이는 화면을 만들면 사실이 아닌 화면이 된다.
읽기 밖의 기능
읽기가 중심이지만 읽고 나서 머무는 기능도 있다. 작가 페이지와 작가 댓글, 게시판, 리뷰, 찜, 포인트, 뱃지가 그것이다. 리뷰는 AI가 스팸·악성 여부를 먼저 판정하고, 의심 건은 어드민의 "AI 의심 리뷰" 탭에 모아 사람이 본다.
작가 표기도 지우지 않는다. 글작가와 그림작가를 역할로 구분해 복수 등록할 수 있고 인세율까지 관리한다. AI로 제작하더라도 작가를 빼는 구조가 아니다.
정리
- AIPicto는 도연님의 그림책과 그림일기를 올려 읽게 하는 서비스이고, 성인 독자가 기준이다.
- 지금은 무료이고, 구독·건당 구매는 구현해 두었다. 유료 구독 오픈이 꿈이다.
- 쇼핑+CMS 보일러플레이트에서 전환했기 때문에 결제, 보호, 작가 구조 같은 제약이 코드와 문서에 명시돼 있다.
- 읽는 순간이 제품이고, 결제 대기와 이미지 보호는 그 경험을 해치지 않는 선에서 다룬다.
앞으로의 글에서는 뷰어의 이미지 보호나 무통장입금 확인 흐름 같은 개별 구현을 더 자세히 다룰 수 있다.
운영중인 사이트 https://picto.aivance.kr

댓글 0개