한칸

한 칸은 혼자 앱을 만드는 작업실입니다. 크게 만들기보다, 하나를 제대로 채우는 쪽을 택합니다. 칸은 늘 하나쯤 비워둡니다.

1인 개발 서울 2026—
Apps

채운 칸

앱마다 지원 페이지가 따로 있습니다.

AI 용어 사전

GitHub Pages

AI가 성행하는 요즘 개발자와 비개발자가 이해하기 쉽게 도움을 주고 싶어 정리해둔 용어 사전입니다.

db-schema-map

GitHub

MyBatis XML과 JPA 엔티티를 읽어 프로젝트가 실제로 쓰는 테이블 구조를 정리해주는 Claude Code 플러그인입니다. DB에 접속하지 않고 코드만 봅니다. 낯선 프로젝트에 들어갈 때 테이블 사이의 관계와 스키마를 바꿨을 때 깨질 범위를 먼저 파악하려고 만들었습니다.

claude-tmp-cleanup

GitHub

Claude Code가 세션마다 임시폴더에 남기는 scratchpad 폴더를 정리해주는 플러그인입니다. 오래된 순으로 크기 · 나이와 함께 표로 보여주고, 고른 것만 지웁니다. 지금 사용하고 있는 세션은 실수로 지워지지 않게 보호합니다. Mac은 잘 안 끄기 때문에 계속 쌓이던 세션을 정리하려고 만들었습니다.

Homelog

준비 중

집에 관한 기록을 한곳에 둡니다. 가전을 언제 샀는지, 보증이 언제 끝나는지, 계약이 언제 만료되는지 — 필요할 때 찾지 않아도 먼저 알려줍니다.

dari

웹

한국에 오는 외국인을 위한 여행 실용정보 사이트입니다. 볼거리가 아니라 그 앞의 문턱을 다룹니다 — 이 가게는 어느 앱으로 예약하는지, 한국 전화번호가 없어도 되는지, 해외 카드가 되는지, 웨이팅은 어떻게 도는지. 장소마다 같은 항목을 같은 형식으로 답해 두었습니다. 영어와 일본어로 냅니다. 모든 항목에 마지막으로 확인한 날짜와 확인 방식(자료 조사인지 현장 확인인지)을 함께 적고, 확실하지 않은 것은 비워 둡니다. dari는 다리(橋)입니다.

앱인토스

토스

토스 안에서 바로 여는 미니앱들입니다. 작게 만들어 자주 냅니다. 토스 앱에서 검색하면 나옵니다.

미니앱 11개

빈 칸

아직 정하지 않았습니다. 여기 들어올 앱을 만들고 있습니다.

Log

작업 일지

만들면서 남기는 기록입니다.
2026.09.17
dari dari를 냈습니다. 한국에 오는 외국인을 위한 여행 정보 사이트인데, 볼거리 소개는 하지 않습니다. 해외 커뮤니티를 먼저 뒤졌습니다. 한국 여행 불만에서 가장 큰 덩어리가 관광지가 아니라 예약·결제·본인확인이었습니다. 인기 식당 웨이팅 앱은 한국 통신사 인증을 요구하고, 결제 앱은 외국인 계정을 받지 않습니다. 인프라가 없는 게 아니라 문이 잠겨 있는 쪽에 가깝습니다. 그래서 블로그 글 대신 명세서로 만들었습니다. 장소마다 예약 방법, 한국 전화번호 필요 여부, 해외 카드 가능 여부, 웨이팅 방식을 같은 자리에 같은 형식으로 둡니다. 모든 항목에 확인 날짜와 확인 방식을 적고, 자료 조사만 한 것과 현장에서 본 것을 구분합니다. 확실하지 않으면 그럴듯하게 채우지 않고 비워 둡니다. 명동부터 시작해 영어와 일본어로 열었습니다. 검색 유입이 붙는지 여덟 주 동안 지켜보고, 되면 동네를 늘릴 생각입니다.
이어서 읽기 →
2026.09.16
앱인토스 앱인토스에 네 개를 더 냈습니다. 전자 서명 만들기, 심리테스트 모음, 자동차세 계산기, 실업급여 계산기입니다. 전자 서명 만들기는 손으로 쓴 서명을 투명 PNG로 저장합니다. 저장할 때 서명 둘레의 빈 여백을 잘라내서, 화면 어디에 썼든 결과 이미지는 같은 모양이 됩니다. 문서에 붙일 때 크기와 위치를 맞추기 쉬우라고 넣은 처리입니다. 자동차세 계산기와 실업급여 계산기는 둘 다 모의 계산입니다. 자동차세는 차령 경감과 연납 공제까지 반영하고, 실업급여는 2026년 상·하한액과 소정급여일수를 적용합니다. 실제 금액은 고지서와 고용센터 판단이 기준이라는 안내를 앱 안에 함께 두었습니다. 이걸로 토스에 올린 미니앱은 열한 개가 되었습니다.
이어서 읽기 →
2026.09.12
앱인토스 상태창을 앱인토스에 출시했습니다. 웹 베타로 열어 두었던 것을 토스 안에서 바로 열 수 있게 되었습니다.
2026.08.27
앱인토스 다 만들고 첫 화면을 다시 열어 보니 검은 배경에 입력칸 두 개뿐이었습니다. 제일 웃긴 건 직업명인데, 그걸 이름과 생일을 다 넣은 사람에게만 보여주고 있었습니다. 값을 치른 사람에게만 상품을 보여준 셈입니다. 같은 실수가 줄줄이 나왔습니다. 공유가 목적인데 공유 버튼은 스크롤을 내려야 나왔고, 카톡 미리보기 이미지에는 서비스 이름이 없어서 그 카드를 받은 사람은 이게 무엇인지 알 수 없었습니다. 레벨은 11124로 찍혔는데, 살아온 날수를 그대로 쓴 숫자라 또래끼리 차이가 없어 비교할 거리가 못 됐습니다. 만드는 일과 퍼지게 하는 일이 다른 작업이라는 걸 알았습니다. 카드는 처음부터 잘 나왔고, 막혀 있던 건 그걸 남에게 보여주는 길이었습니다. 코드가 아니라 배치의 문제였습니다. 광고를 붙일까 생각했다가 접었습니다. 퍼지는 길이 카드 한 장뿐인데 거기에 광고가 찍히면 그 길을 스스로 막는 일입니다. 재미로 만든 것은 재미로 두기로 했습니다. 이름과 생일만 넣으면 오늘의 나를 상태창으로 보여주는 웹을 만들기 시작했습니다. 서버도 데이터베이스도 없이, 이름과 날짜만 가지고 매일 다른 결과가 나옵니다. 같은 사람이 같은 날 열면 언제나 같은 카드가 나와야 친구끼리 결과를 맞춰 볼 수 있어서, 저장할 것이 하나도 없도록 만들었습니다. 오래 걸린 것은 코드가 아니라 직업 이름이었습니다. "직장인 마법사"는 아무도 웃지 않는데 "퇴근을 기다리는 마법사"는 웃깁니다. 예순 개를 써 놓고 다시 보고 나서야 왜 어떤 것은 되고 어떤 것은 안 되는지 알았습니다. 직업이 상황을 설명해 줄 때만 웃깁니다. 비밀번호를 재설정하는 봉인술사, 지도 없이 못 걷는 항해사처럼요. 빨래를 개지 않는 음유시인은 그냥 단어 두 개였습니다. 한 장에 같은 단어가 두 번 나오는 것도 뒤늦게 알았습니다. 직업과 오늘의 특성을 따로 만들었으니 겹칠 리 없다고 생각했는데, 만 장을 뽑아 세어 보니 열다섯 장에 한 장꼴이었습니다. 목록마다 다른 소재를 맡기고 나서야 사라졌습니다. 눈으로 넘겨볼 때는 한 번도 걸리지 않던 것이었습니다.
이어서 읽기 →
2026.08.22
Lockbox Vault 맥 버전은 지난달에 접어둔 작업이었습니다. 다시 열어 보니 화면은 이미 다 만들어져 있었습니다. 막고 있던 건 만들다 만 기능이 아니라, 한 번도 내보내지 않았다는 사실이었습니다. 출시 준비를 하다 말고 검증 절차부터 적었습니다. 무엇을 확인해야 하는지 적어 내려가다 보니, 볼트가 사라질 수 있는 길이 세 개 나왔습니다. 마스터 비밀번호를 다섯 번 틀리면 볼트를 지우는데, 그 횟수를 기기끼리 나눠 세고 있었습니다. 아이폰에서 세 번, 맥에서 두 번이면 다섯 번입니다. 동기화를 끄면 이 기기에만 두겠다는 뜻인데 다른 기기의 볼트까지 지워졌습니다. 스크린샷을 찍으려고 만들어 둔 개발용 인자는 실제 볼트를 먼저 비우고 시작했습니다. 셋 다 기기가 하나일 때는 드러나지 않던 것들입니다. 맥을 더하는 일이 화면을 하나 늘리는 작업인 줄 알았는데, 실은 "기기는 하나"라는 전제를 걷어내는 일이었습니다. 전제가 바뀌면 멀쩡하던 코드가 조용히 위험해집니다. 그래서 내보내는 일보다 이쪽을 먼저 고쳤습니다. 지금은 심사를 기다리고 있습니다. 아이폰에서 쓰던 볼트를 맥에서 그대로 열고, 자리를 비우면 알아서 잠깁니다. 추가 구매는 없습니다.
이어서 읽기 →
전체 일지 13건 →
Studio

작업실

기획부터 디자인, 개발, 문의 응대까지 한 사람이 합니다. 그래서 빨리 만들지는 못하지만, 답장은 빠릅니다.

만드는 기준은 하나입니다. 화면을 열었을 때 알아야 할 것이 하나여야 합니다. 기능을 더할지 말지 고민될 때는 대체로 더하지 않습니다.

쓰신 데이터는 가능하면 기기 안에 둡니다. 서버로 보낼 이유가 없으면 보내지 않습니다.