음성을 어디서든 가져가세요, YOUR 하드웨어에서 전사하세요.

발행: (2026년 2월 16일 오전 04:44 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

이것은 GitHub Copilot CLI 챌린지를 위한 제출물입니다

GitHub Copilot CLI를 사용하여 기존 오픈소스 Windows 데스크톱 앱을 단 3시간 만에 전체 규모의 크로스 플랫폼 모바일 생태계로 변환했습니다.

The Challenge: 휴대폰에서 고성능 음성‑텍스트 변환을 사용하면서 오디오 데이터를 100 % 비공개로 유지하고 비싼 클라우드 API 비용을 피하려면 어떻게 해야 할까요?

The Solution: 가정용 PC의 GPU 성능을 보안 메쉬 네트워크를 통해 활용하는 자체 호스팅 모바일 아키텍처입니다.

Metrics

지표결과
빌드 시간~3 시간
코드 라인 수~6,500개의 프로덕션 라인
생성된 파일 수50개 이상 파일
아키텍처8단계 (Backend → Docker → Mobile → Docs)
상태프로덕션 준비 완료

아키텍처

프론트엔드: Flutter (Material Design 3) + gRPC 클라이언트
백엔드: Python 3.13 + FastAPI + gRPC + Protocol Buffers
추론: faster‑whisper + Ollama (NVIDIA CUDA 12.4)
네트워킹: Tailscale 메쉬 네트워크 (암호화된 터널)
DevOps: GPU 패스스루가 포함된 Docker

┌─────────────────┐
│  Android Phone  │  Push‑to‑talk recording
│  Flutter App    │  Real‑time transcription
└────────┬────────┘

         │ gRPC over Tailscale (E2E Encrypted)

┌──────────────────────────────────────────┐
│            Docker Container              │
│  ┌──────────────────┐                    │
│  │   gRPC Server    │ Port 50051         │
│  │ (Transcription) │                    │
│  └──────────────────┘                    │
│  ┌──────────────────┐                    │
│  │  Web Admin Panel │ Port 8080          │
│  │ (Configuration) │                    │
│  └──────────────────┘                    │
│  ┌──────────────────┐                    │
│  │    Whisper AI    │ Utilizes Home GPU │
│  │  faster‑whisper  │ via NVIDIA CUDA   │
│  └──────────────────┘                    │
└──────────────────────────────────────────┘

Features

  • Push‑to‑Talk: 간단하고 직관적인 녹음 인터페이스.
  • AI Improvement: 전사 품질을 다듬는 Gemini 통합 지원.
  • Onboarding Wizard: 권한 및 연결 테스트를 위한 4‑페이지 설정 흐름.
  • History & Clipboard: 세션 기반 기록과 한 번 탭으로 복사.
  • Privacy‑First: 음성은 절대 클라우드에 전송되지 않음 – Phone → Tailscale → Your PC.
  • Hardware Ownership: 자체 NVIDIA GPU를 사용해 초고속 로컬 전사.
  • Web Admin: 브라우저 기반 모니터링 및 구성 – SSH 필요 없음.
  • One‑Command Deploy: docker‑compose up -d 로 바로 실행.

CLI 영향

  • Windows 전용 데스크톱 앱에서 크로스‑플랫폼 확장을 계획하고, 8단계 아키텍처를 설계하여 모든 단계를 실행했습니다.
  • 2~3주가 걸렸을 연구 및 프로토타이핑을 단 한 번의 세션으로 줄였습니다.
  • 엄격한 린팅 규칙(ruff ALL 활성화)과 Google 형식 docstring을 자동으로 적용했습니다.
  • Python 3.10+ 타입 힌트 요구사항을 별도 요청 없이 처리했습니다.
  • 코드와 함께 포괄적인 문서(Docker, 백엔드, 사용자 가이드, QA 절차)를 생성했습니다.
  • 병렬 툴 호출, 단계 간 컨텍스트 유지, 자동 수정 제안을 통한 오류 복구를 시연했습니다.

코드 예시

# Generated by Copilot CLI to match project standards
from typing import Iterator
import logging

logger = logging.getLogger(__name__)

def transcribe(self, audio: bytes) -> str:
    """Transcribes audio using faster‑whisper.

    Args:
        audio: Raw audio bytes in WAV format.
    Returns:
        Transcribed text string.
    """
    logger.info("Processing audio: %s", audio_id)  # Validated for lazy logging

문서

CLI는 Docker 설정, 백엔드 서비스, 사용자 지침 및 QA 절차를 다루는 7개의 포괄적인 가이드를 생성했습니다. 이 가이드들은 코드베이스와 동기화되어 개발자들이 항상 최신 참고 자료를 사용할 수 있도록 보장합니다.

라이선스

MIT

최종 평결

Copilot CLI는 개발자의 판단을 대체하지 않습니다—그것을 강화합니다. 기계적인 보일러플레이트를 피로 없이 처리해 주어, 저는 프라이버시 아키텍처와 사용자 경험에 전적으로 집중할 수 있었습니다.

실험 코드:GitHub Repository (Mobile Branch) (replace with actual URL)

0 조회
Back to Blog

관련 글

더 보기 »