프로젝트
만들면서 배운 것들. 회사에서 맡은 일과 혼자 만든 것, 외부 프로젝트에 기여한 기록.
19편의 기록19편의 글
Last Seal — 금방 만들 줄 알았는데, 난이도 조절이 더 어려웠다
Spire Story를 만든 뒤 심심해서 주말에 시작한 메이플스토리 타워 디펜스. 게임 구현은 빠르게 끝났지만, 너무 쉽지도 않고 게임을 익히기 전에 끝나지도 않는 난이도를 잡는 데만 꼬박 이틀쯤 걸렸다. 지금도 Verse8에서 플레이할 수 있다.
넥슨 · NEXPACE10분 읽기#gamedev#maplestory#verse8Spire Story — LLM과 함께 처음 만든 메이플스토리 덱빌딩 게임
게임 개발 경험 없이 LLM과 함께 메이플스토리 덱빌딩 로그라이크를 만들어 Verse8에 공개했다. 캐릭터를 움직이고, 배경과 음악을 채우고, 전투와 레벨 디자인을 다듬어 4,995회의 플레이와 이용자 피드백을 받기까지의 기록이다.
넥슨 · NEXPACE11분 읽기#gamedev#maplestory#verse8사진을 튀기는 토스 미니앱을 만들고 다듬기
아내의 아이디어로 시작해 Codex로 구현하고 토스에 배포한 사진 놀이 미니앱, 뭐든지 튀겨드립니다. 원본이 비치는 튀김옷과 직관적인 조리 화면을 다듬은 과정, 앱을 알리고 사용자 피드백을 얻기 위한 고민을 기록했다.
개인 프로젝트6분 읽기#react#typescript#canvas직접 만든 스킬을 여러 CLI에 배포하고 검증하기
작업하다 필요해서 만든 에이전트 스킬을 한 저장소에 모아 Claude Code와 Codex·Gemini·Kimi CLI에 같은 파일로 배포하고, 스킬이 실제로 발동하고 도움이 되는지 재는 도구까지 넣은 개인 스킬 마켓플레이스. 재보니 발동 실패의 대부분은 description이 아니라 환경 탓이었다.
개인 프로젝트5분 읽기#claude-code#agent-skills#cliMAR — macOS 메뉴바 회의 오디오 레코더
ScreenCaptureKit으로 회의 오디오를 녹음하고 로컬 Whisper로 회의록까지 만드는 macOS 메뉴바 앱. 전사 품질은 원하던 만큼 올라갔는데, 녹음과 전사와 요약을 직접 이어 붙여야 해서 요즘은 다시 Notion을 씁니다.
개인 프로젝트7분 읽기#swift#swiftui#macos가입 없이 쓰려고 만든 배경 제거 CLI
가입이나 결제 없이 이미지 배경을 지우고 싶어서, rembg를 로컬에서 간단히 사용할 수 있는 Python CLI를 만들고 uv 원라이너로 배포했다.
개인 프로젝트3분 읽기#python#cli#rembg블록 익스플로러에 AI를 붙이니, 정작 모델이 정해주는 게 없었다
MSU 블록체인 익스플로러에 Claude를 붙여 화면의 데이터를 설명하고 자연어 질문도 받게 만든 PoC. Tool Use까지 연결하고 나니 언제 조회할지, 어떤 도구를 열어둘지, 못 가져왔을 때 뭐라고 답할지가 전부 제가 코드로 적어야 할 판단이었다.
개인 프로젝트5분 읽기#claude#tool-use#blockchain화장실 효과음 미니앱으로 앱인토스 챌린지에 참여해보기
앱인토스 바이브코딩 챌린지 "하찮아도 괜찮아"를 보고, 버튼을 누르면 화장실 효과음이 나는 미니앱 "변동성"을 Claude Code와 하루 만에 만들어 출품했고 토스 앱에 배포했다.
개인 프로젝트5분 읽기#react#typescript#claude-codeSymphony 명세를 Go와 Claude Code로 구현해보기
OpenAI가 명세만 공개한 코딩 에이전트 오케스트레이터 Symphony를, 참조 구현과는 다른 언어·다른 에이전트·다른 트래커로 직접 구현해봤다. Codex 자리에 로컬 claude CLI를 끼우고 노션을 작업 큐로 썼다.
개인 프로젝트7분 읽기#go#claude-code#agent-orchestration열어 둔 탭을 작업 공간으로 바꾸기
수많은 탭 사이에서 작업의 맥락을 잃는 불편을 해결하려고, 현재 탭과 개인 보드를 한 화면에 두고 여러 기기에서 흐름을 이어갈 수 있는 Chrome 확장을 만들었다.
개인 프로젝트7분 읽기#chrome-extension#javascript#local-firstGit identity를 디렉터리에 매핑하기
저장소마다 Git identity를 바꾸는 대신 디렉터리를 프로파일에 연결하고, Git이 실제로 쓰는 identity가 셸 프롬프트에 보이게 만든 CLI. Git의 includeIf가 이미 하는 일을 대신 쓰고, 어느 것이 적용됐는지 보여준다.
개인 프로젝트3분 읽기#git#cli#typescript흩어진 작업의 맥락을 쌓아두기
이력서 한 줄과 저장소의 코드 사이에 흩어지던 판단과 운영 경험을 다시 찾을 수 있도록, 경력과 프로젝트, 생각을 한곳에 모으는 개인 사이트를 만들었다.
개인 프로젝트4분 읽기#nextjs#mdx#vercelCodexBar에 한국어 현지화 추가
1,040개 문자열을 번역하고 언어 선택기와 테스트를 연결해 CodexBar에 한국어를 추가한 기록.
오픈소스 기여2분 읽기#open-source#swift#macosCodexBar 스토리지 스캔의 중복 갱신 제거
스캔 결과가 같아도 Observable 상태가 다시 발행되던 원인을 찾아 메뉴 캐시의 불필요한 무효화를 줄인 기록.
오픈소스 기여2분 읽기#open-source#swift#performanceDefiLlama Chainlist에 Henesys 네트워크 등록
Henesys의 Chain ID, NXPC, RPC와 익스플로러 메타데이터를 DefiLlama Chainlist에 추가한 기록.
오픈소스 기여1분 읽기#open-source#blockchain#chainlist확장 가능한 온체인 SVG 이미지 스토리지
SVG의 XML 태그를 여러 스마트 컨트랙트에 나눠 저장하고 조합해, 계약 크기 제한을 넘는 이미지를 온체인에 보관한 연구.
CJ올리브네트웍스3분 읽기#blockchain#nft#svg블록체인 기반 제약물류의 이력 추적 시스템
SSCC를 키로 의약품 물류 이력을 Hyperledger Fabric에 기록하고, 참여 조직이 유통 상태를 검증할 수 있도록 설계한 연구.
CJ올리브네트웍스3분 읽기#blockchain#hyperledger-fabric#pharmaceutical-logistics동형암호와 블록체인을 활용한 전자투표 시스템
투표값 대신 유권자 정보를 동형암호로 보호하고, 블록체인에 기록해 검증가능성과 통계 분석을 함께 다룬 연구.
CJ올리브네트웍스4분 읽기#blockchain#homomorphic-encryption#hyperledger-fabric하나생명 PIST에서 그룹 슈퍼앱 Open API까지
하나생명 모바일 채널의 PIST 리뉴얼과 라이프체크를 거쳐, 하나은행 앱에 보험 정보와 추천 기능을 연결한 Open API 구현에 참여한 기록.
하나금융티아이5분 읽기#insurance#open-api#spring