본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 16. 17:19

0원으로 Python 학습 앱을 출시했습니다 — 제가 사용한 모든 무료 도구들

요약

자본 없이 무료 도구만을 활용하여 Python 학습 앱인 'Codino'를 개발하고 출시한 사례를 소개합니다. Sora Editor, Skulpt, Pyodide 등 오픈 소스 라이브러리를 활용해 IDE 기능과 데이터 과학 환경을 구축하는 방법을 다룹니다.

핵심 포인트

  • Sora Editor를 사용하여 Android용 코드 에디터 기능을 빠르게 구현
  • Skulpt를 활용해 서버 비용 없이 WebView 내에서 가벼운 Python 실행 환경 구축
  • Pyodide를 통해 WebAssembly 기반의 강력한 데이터 과학 라이브러리 지원
  • 무료 오픈 소스 도구 조합으로 0원 예산의 앱 개발 가능성 증명

0원으로 Python 학습 앱을 출시했습니다 — 제가 사용한 모든 무료 도구들

방글라데시 출신의 19세 개발자. 자금 없음. 팀 없음. 오직 무료 도구, 무료 API, 그리고 고집뿐.

저는 Simanta입니다. 저는 오프라인 IDE, AI 튜터, Jupyter 스타일의 노트북, 게이미피케이션 (Gamification), 그리고 데이터 과학 라이브러리 지원 기능을 갖춘 Python 학습 앱인 Codino를 구축하여 Google Play Store에 출시했습니다.

총 예산: $0.

이 글은 제가 사용한 모든 도구의 상세 내역, 선택 이유, 그리고 앱에 정확히 어떻게 적용되었는지에 대한 완전한 분석입니다. 군더더기는 없습니다.

기술 스택 요약 (The Stack at a Glance)

필요 항목사용한 무료 도구
구문 강조 (Syntax highlight) 기능이 있는 코드 에디터Sora Editor
...

1. Sora Editor — 수개월의 시간을 아껴준 코드 에디터

Android용 코드 에디터를 처음부터 만드는 것은 악몽과 같습니다. 구문 강조 (Syntax highlighting), 자동 들여쓰기 (Auto-indentation), 괄호 매칭 (Bracket matching), 줄 번호 (Line numbers) — 이 모든 것을 직접 구현하는 것은 매우 어렵습니다.

Sora Editor는 Android를 위한 무료 오픈 소스 리치 코드 에디터 (Rich-code-editor) 라이브러리입니다. 저는 이를 Jetpack Compose에 직접 연결하여, 몇 달이 아닌 단 몇 시간 만에 완전히 작동하는 IDE를 확보할 수 있었습니다.

무료로 제공된 기능:

  • Python (및 기타 언어)에 대한 구문 강조 (Syntax highlighting)
  • 자동 완성 (Autocompletion) 지원
  • 저사양 Android 기기에서도 부드러운 스크롤
  • 깔끔하고 다크 테마에 친화적인 디자인

만약 코딩이나 텍스트 중심의 어떤 Android 앱이라도 만들고 있다면, Sora Editor를 사용하세요. 이를 다시 발명할 이유는 없습니다.

GitHub: github.com/Rosemoe/sora-editor

2. Skulpt — 레슨에서 Python을 즉시 실행하기

레슨 기반 IDE (학생들이 레슨 중에 사용하는 기본 코드 실행기)를 위해 저는 Skulpt를 사용했습니다.

Skulpt는 Python의 JavaScript 구현체입니다. 이는 서버, 인터넷, 대기 시간 없이 브라우저/WebView 내에서 완전히 Python 코드를 실행합니다.

더 무거운 도구 대신 Skulpt를 선택한 이유:

  • 매우 가벼움 (Extremely lightweight)
  • WebView 내에서 즉시 로드됨
  • 초보자 수준의 Python (변수, 루프, 함수, 조건문)에 완벽함
  • 비용 제로, 서버 호출 제로

한계점: NumPy와 같은 고급 라이브러리를 지원하지 않습니다. 하지만 학습 환경용으로는 완벽합니다.

3. Pyodide — Jupyter 스타일 노트북을 위한 진짜 Python

Codino의 노트북 기능 (JupyterLab 스타일의 셀 인터페이스)을 위해, 저는 더 강력한 것, 즉 실제로 NumPy, Pandas, Matplotlib을 실행할 수 있는 무언가가 필요했습니다.

그 지점에서 Pyodide가 등장합니다.

Pyodide는 WebAssembly로 컴파일된 CPython입니다. 브라우저 내부에서 **진짜 Python (real Python)**을 실행합니다. 다음과 같은 20개 이상의 과학 라이브러리를 지원합니다:

  • numpy
  • pandas
  • matplotlib
  • scikit-learn

저는 Android WebView 내에 Pyodide를 임베딩(embedded)했고, 외부 셸(outer shell)에는 Jetpack Compose를 사용하여 셀 기반의 노트북 UI를 구축했습니다.

결과: Android에서 완전히 작동하며 오프라인 기능까지 갖춘 데이터 과학 노트북을 무료로 구현했습니다.

이것이 Codino를 Play 스토어의 다른 모든 Python 앱과 차별화하는 기능입니다. 대부분의 앱은 실제 라이브러리를 다루지 않습니다. 저는 WebAssembly를 통해 이 모든 것을 무료로 얻었습니다.

웹사이트: pyodide.org

4. Google Gemini API — 무료 AI 튜터

AI 기반의 모든 학습 앱은 AI 사용료를 부과합니다. Mimo는 유료입니다. Sololearn도 유료입니다. 저는 그렇게 하고 싶지 않았습니다.

Google의 Gemini API는 관대한 무료 티어 (free tier)를 제공합니다. 이는 모든 Codino 사용자에게 비용 지불 없이 실제 AI 힌트, 전체 레슨 설명, 코드 이해 기능을 제공하기에 충분합니다.

Codino 내부에서 사용하는 방식:

  • 각 레슨 내의 AI 힌트 버튼 → Gemini 호출
  • AI가 퀴즈 정답을 마크다운 (markdown) 형식으로 설명
  • AI가 IDE에 작성된 코드를 설명
  • 응답은 앱 내에서 **아름답게 포맷팅된 마크다운 (markdown)**으로 렌더링됨

무료 티어의 제한은 충분히 높아서, 대부분의 사용자는 하루 학습 과정 중에 제한에 걸리는 일이 거의 없습니다.

5. Groq — 미친 듯이 빠른 백업 AI 제공업체

Gemini는 훌륭하지만, 단 하나의 AI 제공업체(provider)만 사용하는 것은 위험합니다. 만약 서비스가 중단되거나 사용자가 일일 제한에 도달하면, AI 기능이 완전히 작동을 멈추기 때문입니다.

그래서 저는 백업(fallback) 용도로 Groq를 추가했습니다.

Groq는 오픈 소스 모델(LLaMA 및 Mixtral 등)을 믿기 힘들 정도로 빠른 속도로 실행하는 무료 AI 추론 API (inference API)입니다. 제가 지금까지 사용해 본 AI API 중 가장 빠릅니다.

저의 멀티 제공업체 (multi-provider) 전략은 다음과 같습니다:

  1. 먼저 Gemini를 시도합니다 (최고의 품질, 관대한 무료 티어)
  2. Gemini 제한에 걸리면 Groq로 전환합니다 (빠름, 무료)
  3. 추가적인 모델 다양성을 위해 선택적으로 OpenRouter를 추가합니다

사용자는 이 과정을 전혀 알 수 없습니다. 그저 응답을 받을 뿐입니다. 시스템이 백그라운드에서 조용히 이를 처리합니다.

이것이 바로 0원으로 AI 신뢰성 (reliability)을 구축하는 방법입니다. 단 하나의 제공업체에만 의존하지 마세요.

6. Supabase — 무료 백엔드 및 인증 (Auth)

사용자 계정, 연속 학습 기록 (streaks), 리더보드 데이터, XP 진행 상황 — 이 모든 것에는 백엔드 (backend)가 필요합니다.

Supabase는 매우 관대한 무료 티어를 제공하는 오픈 소스 Firebase 대안입니다:

  • 500 MB 데이터베이스
  • 내장된 인증 (Authentication)
  • 실시간 구독 (Realtime subscriptions)
  • Android를 위한 REST 및 직접 SDK 지원

저는 다음과 같은 데이터를 저장하기 위해 Supabase를 사용했습니다:

  • 사용자 프로필 및 진행 데이터
  • 연속 학습 기록 (streak history)
  • 리더보드 점수
  • 일일 AI 할당량 (quota) 추적

비용은 전혀 들지 않았습니다.

7. Jetpack Compose — 프리미엄 느낌을 주는 UI

무료 앱을 '프리미엄'처럼 느껴지게 만드는 유일한 방법은 아름답게 디자인하고 애니메이션을 구현하는 것입니다.

Jetpack Compose는 Google의 현대적인 Android UI 툴킷 (toolkit)입니다. 무료이며 오픈 소스이고, 부드럽고 애니메이션이 풍부한 UI를 구축하는 데 매우 강력합니다.

Codino에서 볼 수 있는 모든 것 — 다크 UI, 부드러운 레슨 전환, 애니메이션이 적용된 연속 학습 카운터, 빛나는 리더보드 — 은 순수하게 Compose와 그 애니메이션 API로 구축되었습니다.

유료 UI 라이브러리도, 제가 비용을 지불한 디자인 에셋도 사용하지 않았습니다.

8. Google Play Store — 25달러 일회성 비용

이것이 제가 지출한 유일한 돈입니다.

Google Play Store는 25달러의 일회성 개발자 등록 비용이 있습니다. 그 이후에는 평생 제한 없이 앱을 게시할 수 있습니다.

그 25달러가 Codino를 구축하고 출시하는 데 드는 유일한 실제 비용입니다.

솔직한 현실

무료 도구로 구축하는 것은 쉬운 길이 아닙니다. 다음과 같은 실제적인 도전 과제들이 따릅니다:

  • Pyodide는 무겁습니다. WebView 내부에서의 첫 로딩이 느릴 수 있습니다. 로딩 상태 (loading states)를 주의 깊게 관리해야 합니다.
  • 무료 API 티어 (Free API tiers)에는 제한이 있습니다. 단순히 하나의 제공업체가 작동할 것이라고 가정하지 말고, 폴백 로직 (fallback logic)을 구축해야 합니다.
  • Sora Editor는 설정이 필요합니다. 바로 사용할 수 있는 플러그 앤 플레이 (plug-and-play) 방식이 아닙니다. 이를 조정하는 데 시간을 소비하게 될 것입니다.
  • Supabase 무료 티어에는 행 제한 (row limits)이 있습니다. 첫날부터 스키마 (schema)를 효율적으로 설계해야 합니다.

하지만 이러한 문제 중 어느 것도 돈이 들지는 않습니다. 대신 시간이 듭니다. 그리고 시간은 갭이어(gap year)를 보내는 19세 개발자가 가진 유일한 자원입니다.

마지막 생각

소프트웨어 개발에서 가장 큰 거짓말은 무언가 진짜를 만들기 위해서는 돈이 필요하다는 것입니다.

필요하지 않습니다.

당신에게 필요한 것은 Google, GitHub, 인내심, 그리고 새벽 2시에 문서를 읽을 의지입니다.

Codino가 그 증거입니다. 오프라인 IDE, AI 튜터, Jupyter notebook, 데이터 과학 라이브러리 (data science libraries), 게이미피케이션 (gamification), 리더보드 (leaderboard), 그리고 무료 인증서까지 갖춘 Python 학습 앱 — 방글라데시의 한 개발자가 0달러로 혼자서 만들어냈습니다.

제가 할 수 있다면, 당신도 할 수 있습니다.

Codino는 Google Play Store에서 이용 가능합니다. "Codino Learn Python"을 검색하거나 여기를 클릭하세요.

예산 없이 앱을 처음부터 구축하는 것에 대한 더 솔직한 게시물을 보려면 팔로우하세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0