sloki9637

sloki9637 · 1인 개발

혼자 만들고, 오래 고치는 앱들

sloki9637은 한 사람이 기획부터 개발, 운영까지 맡는 1인 스튜디오입니다. 감정 일기, RSS 리더, 사주 앱처럼 제가 쓰고 싶었던 것부터 만들어 스토어에 올리고, 출시한 뒤에도 계속 고칩니다. 만들다 필요했던 개발 도구는 Theorvane이라는 이름으로 오픈소스로 내놓고 있습니다.

Apps

지금 스토어에서 받을 수 있는 앱

Flutter, Expo, Electron으로 만든 앱들입니다. 화면 설계부터 앱 코드, NestJS 서버, 스토어 심사까지 한 사람이 처리합니다. 카드를 누르면 화면과 설명, 스토어 링크를 볼 수 있습니다.

Open source

Theorvane이라는 이름으로 공개하는 개발자 도구

앱을 만들다 아쉬웠던 부분을 직접 만들어 GitHub에 올립니다. MCP 서버를 데코레이터로 선언하는 라이브러리, Terraform plan을 검토하는 GitHub Action 같은 것들입니다. OpenScene과 LabFox도 이 이름으로 냅니다. 되는 것과 아직 안 되는 것은 README에 숨기지 않고 적습니다.

TypeScript 라이브러리

TypeMCP

  • npm

MCP 서버를 TypeScript 클래스와 데코레이터로 선언하는 라이브러리입니다. 정의 검증, MCP SDK 컴파일, stdio와 Streamable HTTP, LangChain 어댑터까지 들어 있습니다. 호스팅과 인가 정책은 쓰는 쪽이 정합니다.

TypeScript 라이브러리

TypeChain

  • npm

LangChain JS 도구와 에이전트를 @Tool(), @Agent() 데코레이터로 적습니다. 실행은 LangChain에 맡기고, TypeChain은 타입과 스키마가 어긋나지 않도록 잡아 주는 역할만 합니다. TypeMCP 서버를 그대로 도구로 쓰는 브리지도 있습니다.

GitHub Actions

PlanGuard

  • GitHub Action

Terraform plan을 GitHub Actions 안에서 검토합니다. 위험 판정과 통과 여부는 코드가 정하고, AI는 민감값을 지운 plan을 사람이 읽을 문장으로 풀어 주는 일만 합니다. 별도 서버나 GitHub App이 필요 없습니다.

MCP 서버

Proxmox MCP

  • MCP 서버

Proxmox VE API를 MCP로 여는 로컬 stdio 서버입니다. 읽기 작업과 상태를 바꾸는 작업을 나눠 두고, 위험한 작업은 명시적으로 허용해야만 실행됩니다. GitHub Release 아카이브와 체크섬으로 배포합니다.

How

일하는 방식

거창한 원칙은 없습니다. 혼자 하다 보니 굳어진 습관이 세 가지 있을 뿐입니다.

  1. 01

    혼자서 끝까지

    화면 설계, 앱 코드, API 서버, CI 파이프라인, 스토어 심사 대응, 문의 답장까지 전부 한 사람 몫입니다. 결정은 빠르지만 손은 두 개뿐이라, 기능을 줄이고 작게 만드는 쪽을 택합니다.

  2. 02

    먼저 내놓고 고칩니다

    다 됐다 싶을 때까지 기다리지 않습니다. 핵심 기능만 넣어 먼저 올리고, 사용 로그와 스토어 리뷰를 보면서 다음 버전에서 고칠 것을 정합니다. 심사에서 반려당한 이유도 그대로 기록해 둡니다.

  3. 03

    데이터는 꼭 필요한 만큼만

    사주 AI는 로그인이 없어 기기 키 하나로만 사용자를 구분하고, LabFox의 토큰은 기기 보안 저장소 밖으로 나가지 않으며, OpenScene은 영상을 어디에도 올리지 않습니다. 안 받아도 되는 데이터는 처음부터 받지 않는 편이 지키기도 쉽습니다.

Lab

만들어 보는 중

스토어에 올리기 전에 작게 돌려 보는 것들입니다. 지금은 Velra라는 랜덤 채팅을 몇 명과 함께 써 보는 중입니다.

자세히 보기
Velra preview

Blog

만들면서 적는 글

출시하다 겪은 일, 심사에서 막힌 이유, 써 보고 괜찮았던 도구 이야기를 블로그에 적어 둡니다.

궁금한 게 있으면 편하게 보내 주세요

버그 제보, 기능 제안, 같이 해 보자는 이야기 모두 같은 창구로 받습니다. 읽는 대로 답장합니다.

문의하기