Nari

LevelUp Piano — MIDI 피아노 연습 앱

블로그

프로젝트로 돌아가기
개발 일지2026-07-09

앱에서 오픈소스로 — 검증 가능한 LLM 출력을 위한 재사용 패턴

LevelUp Piano의 AI 작곡 파이프라인을 실행 가능한 오픈소스 OpenAI API 샘플 etude-gen으로 추출했다. 핵심은 음악이 아니다 — LLM이 '정확해야 하는' 출력을 내야 하는 모든 곳에 일반화되는 패턴이다. 모델은 상징적 언어로 작곡하게 하고, 모든 산수는 결정적 코드로 밀어내고, 그 사이를 검증-재생성 루프로 잇는다.

AILLMOpenAI오픈소스
개발 일지2026-07-07

LLM을 이용한 곡 만들기 — 연습곡을 무한 생산하는 AI 작곡 파이프라인

난이도·조성·기술을 지정하면 교육용 연습곡이 자동 생성·검증되는 파이프라인. LLM에게 ms 대신 마디·박으로 작곡시키고, 검증 실패를 그대로 되먹여 재생성하고, 사람 귀로만 잡히는 '음악성'은 규칙으로 누적한 P1 개발기입니다.

AILLM작곡파이프라인
개발 일지2026-07-06

MIDI 피아노를 게임으로 — LevelUp Piano 개발기

USB-MIDI 디지털 피아노를 아이패드에 연결해 연주를 음표 단위로 판정하고, 혼자 하는 피아노 연습을 게임처럼 만든 과정을 공유합니다.

FlutteriOS 네이티브Kotlin게이미피케이션
개발 일지2026-07-05

한 앱, 네 개의 사용자 — 역할 설계 이야기

독립 학습자·학생·선생님·운영자. 성격이 다른 네 사용자를 한 앱에 담으면서 공용 코어와 역할별 셸을 어떻게 나눴는지 정리했습니다.

아키텍처역할 설계FlutterKotlin
기능 소개2026-07-04

연습을 게임으로 — 피아노 앱 게이미피케이션 설계

XP와 레벨, 스트릭과 프리즈, 티어 리그, 미션과 마스코트까지. 지루한 반복을 매일 앉고 싶은 루프로 바꾸기 위한 게이미피케이션 설계와 그 철학을 정리했습니다.

게이미피케이션프로덕트리텐션UX
기능 소개2026-07-03

선생님을 위한 도구 — 곡 업로드부터 코칭까지

MIDI 한 파일을 연습 곡으로 바꾸는 업로드 파이프라인, 초대 코드로 학생을 잇는 방식, 그리고 응원·진단·테스트 플레이로 이어지는 코치 루프까지 — 선생님에게 특화된 기능을 정리했습니다.

프로덕트선생님 기능FlutterKotlin
기능 소개2026-07-02

기기 안에서 MIDI를 오디오로 굽기 — 온디바이스 렌더링 엔진

선생님이 올린 임의의 MIDI를 세 가지 속도의 연습 반주로 바꾸는 온디바이스 오디오 렌더링 파이프라인 — 오프라인 AVAudioEngine 2패스, 44.1kHz 샘플 단위 서브청크, 그리고 같은 음이 서로를 끊어버린 버그의 원인과 64프레임 트림 해법까지.

iOS 네이티브오디오AVAudioEngine디버깅
기능 소개2026-07-01

친 음을 어떻게 채점하나 — 실시간 MIDI 판정 엔진

흐르는 노트와 건반 입력을 시간축에서 맞춰 Perfect·Good·Bad·Miss로 가리는 판정 엔진. ±50/150/300ms 윈도우, 어택+지속 2단계 채점, 300ms 입력 버퍼, best-fit 화음 매칭, 그리고 실기기 없이 회귀를 잡는 리플레이 테스트까지 정리했습니다.

실시간MIDI게임플레이알고리즘
기능 소개2026-06-30

80점 말고, 몇 마디를 다시 — 학습 진단과 간격 반복

마디·손 단위로 약점을 짚어 '3~7마디만 왼손으로 다시' 같은 타겟 재연습을 제안하고, 시간이 지나 다시 물어보는 간격 반복으로 약점을 굳히는 적응형 학습 설계입니다.

학습 설계데이터적응형UX
개발 일지2026-06-29

한국어에서 세계로 — 앱을 다국어로 만든 과정

한국어 전용으로 시작한 앱에 영어를 넣고, 콘텐츠 데이터와 iOS 권한 문구까지 로케일별로 관리하도록 확장한 과정. 미지원 언어의 영어 폴백과 '진짜로 전부 번역됐나'를 확인한 감사까지 정리했습니다.

다국어i18nFlutter프로덕트
개발 일지2026-06-28

하드웨어가 있어야 도는 앱을 App Store에 올리기

핵심 기능이 외부 MIDI 피아노에 의존하는 앱을 앱스토어 심사에 올리며 배운 것들 — 데모 영상, 하드웨어 없는 둘러보기, 구독 화면의 법적 링크, 앱 내 계정 삭제까지.

App Store심사프로덕트런칭
기능 소개2026-06-27

보이게 만들고, 안전하게 배포하기 — 옵저버빌리티와 무중단 배포

1인 개발이라도 프로덕션은 눈이 필요합니다. 지표·로그·트레이스를 모으는 옵저버빌리티와, preflight부터 smoke·자동 롤백까지 4겹 안전망을 갖춘 무중단 배포 파이프라인 이야기입니다.

운영옵저버빌리티배포인프라