GhostLedger: 주권 금융 머신 — 우리의 AI 회계 장부가 Gemma 2의 오픈 웨이트 덕분에 작동하는 이유
요약
GhostLedger는 Gemma 2 오픈 웨이트 모델과 Ollama를 활용하여 기밀성이 요구되는 영수증 및 비용 관리를 위한 온프레미스(air-gapped) AI 도구입니다. 이 솔루션은 클라우드 SaaS의 데이터 유출 위험과 높은 API 호출 비용 문제를 해결하며, 독립 계약자들이 놓치기 쉬운 세액 공제 항목을 자동으로 분류합니다.
핵심 포인트
- Gemma 2 오픈 웨이트 모델 기반으로 작동하는 온프레미스(air-gapped) 솔루션입니다.
- 클라우드 SaaS 사용 시 발생하는 데이터 기밀성 및 유출 위험을 원천 차단합니다.
- API 호출 비용 문제로 인한 낮은 총 이익률(gross margin) 문제를 해결했습니다.
- IRS Schedule C 세금 규칙에 맞춰 영수증과 비용 인텔리전스를 자동 분류합니다.
이것은 Hacktoberfest Open-Source AI Challenge, Week 2: Side Hustle에 제출하는 글입니다.
저는 Bengaluru 출신의 Arnav입니다. Week 1의 'Touch Grass' 챌린지에서는 사람들이 야외 활동을 하도록 돕는 _WildTrail_을 만들었습니다. Week 2의 'Side Hustle' 프롬프트—즉, 사람들이 실제로 돈을 지불할 만한 오픈 웨이트 모델 또는 오픈 소스 AI를 활용하여 무언가를 구축하는 것—에 대해서는 모든 프리랜서, 컨설턴트, 인디 해커가 매 세금 시즌마다 겪는 문제를 해결하고 싶었습니다: 바로 끔찍한 영수증 상자입니다.
매년 독립 계약자들은 IRS Schedule C에 따라 합법적인 사업 세액 공제에서 추정치로 $3,000에서 $6,000을 놓칩니다. 항공편 일정표, 점심 식사 영수증, 하드웨어 송장, SaaS 청구서를 수동으로 분류하는 것은 고통스럽습니다. 하지만 기존 솔루션에는 두 가지 치명적인 결함이 있습니다:
- NDA 및 기밀 유지 위반: 클라이언트의 영수증을 클라우드 SaaS(Expensify, Dext)나 독점 클라우드 LLM API에 업로드하면, 기밀 클라이언트 이름, 프로젝트 코드명(
Project Apex), 비밀 회의 장소, 신용카드 일부가 제3자 데이터베이스와 외부 AI 학습 세트로 직접 전송됩니다. - 단위 경제학 함정 (Unit Economics Trap): 만약 프리랜서에게 $29짜리 일회성 데스크톱 앱이나 월 $9짜리 마이크로 SaaS를 판매하고 싶다면, 폐쇄형 클라우드 API에 영수증 호출당 $0.03에서 $0.08을 지불하는 것은 총 이익률(gross margin)을 완전히 파괴합니다.
그래서 저는 Google의 Gemma 2 오픈 웨이트 모델 패밀리와 IRS Schedule C 세금 규칙을 활용하여, 100% 에어 갭(air-gapped)이며 누출이 없는 영수증 및 비용 인텔리전스 도구인 GhostLedger // 2100을 만들었습니다.
🚀 라이브 웹 앱: https://ghostledger-topaz.vercel.app
⚡ 미션 선언문: https://ghostledger-topaz.vercel.app/landing.html
🖥️ 명령 센터 워크벤치: https://ghostledger-topaz.vercel.app/workbench.html
💻 오픈 소스 코드 (MIT): https://github.com/XiaoArnav/ghostledger
🏛️ 제가 구축한 것과 작동 방식
GhostLedger는 주권 금융 비행 갑판(sovereign financial flight deck)처럼 작동합니다. 원본 영수증 텍스트, 인보이스 이메일 또는 항공편 일정표를 받아 5단계 파이프라인을 통해 처리합니다:
flowchart TD
subgraph Ingestion ["1. 다중 스트림 수집 (Multi-Stream Ingestion)"]
R1["📄 원본 영수증 텍스트"]
...
1. 🧠 Google Gemma 2 로컬 추론 (Local Inference)
GhostLedger는 Google의 Gemma 2 오픈 웨이트 모델 제품군과 직접 통합됩니다. Ollama를 사용하여 로컬에서 실행할 경우 (ollama run gemma2:2b), http://localhost:11434와 통신하여 가맹점, 날짜, 통화, 품목별 라인 항목 및 세금 금액을 추출합니다. 만약 Ollama가 오프라인이거나 사용자가 순수 브라우저/엣지 환경에 있다면, GhostLedger는 다운타임 없이 결정론적 제로 의존성 휴리스틱 파서(deterministic zero-dependency heuristic parser)를 자동으로 작동시킵니다.
2. 🛡️ 클라이언트 및 NDA 개인 정보 보호 방패 (Privacy Shield)
이것은 제가 가장 좋아하는 기능이었습니다. 만약 Client: Initech과 Project Apex에 대해 논의한 고객 저녁 식사 인보이스가 있다면, 그 원본 영수증을 외부 회계사에게 넘기는 것은 기밀 유지 계약(non-disclosure agreements)을 위반할 수 있습니다. GhostLedger의 개인 정보 보호 방패는 내보내기 전에 장치에서 작동합니다(on-device before export):
- 프로젝트 코드명 식별 (
Project Apex➔Project [CONFIDENTIAL_CLIENT_1]) - 클라이언트 이름 식별 (
Client: Initech➔[REDACTED_NDA_INFO]) - 신용카드 번호, 전화번호 및 개인 이메일 삭제(scrubs)
3. ⚖️ IRS Schedule C 세금 감사 방어 (Tax Audit Defense)
GhostLedger는 단순히 숫자를 합산하는 것이 아니라 세법을 이해합니다:
- 식사 및 접대비 (IRC § 274(n)): 의무적인 50% 한도 (Line 24b)를 자동으로 적용하며, 사업 목적이 문서화되어야 함을 명시합니다.
- 여행 및 숙박비 (IRC § 162(a)(2)): 세금 거주지에서 벗어난 출장 비용은 100% 공제 가능합니다 (Line 24a).
- 소프트웨어 및 클라우드 인프라: 일반적이고 필요한 개발 서비스(DigitalOcean 드롭렛, SaaS 구독)에 대해 Line 18 / 기타 경비 항목으로 100% 공제 가능합니다.
- 하드웨어 및 사무 장비: Section 179와 $2,500 미만 구매품에 대한 De Minimis Safe Harbor 규정에 따라 취득 연도에 100% 공제 가능합니다.
4. 📟 유닉스 철학 (The Unix Philosophy)
GhostLedger는 유닉스 철학을 따릅니다: 깨끗한 텍스트 스트림, 조합성(composability), 그리고 조용한 모드입니다:
# 영수증 텍스트를 jq로 직접 파이프합니다.
cat samples/saas_subscription.txt | ghostledger -q -f json | jq .total_deductible
...
5. 🌌 이중 인터페이스 경험 (Dual-Interface Experience)
- 제1원리 미션 선언문: 3D 초공간 워프 드라이브(450개 애니메이션 깊이 매핑 입자), 상호작용하는 복리 ROI 세금 계산기, 그리고 유닉스 스트림 홀로데크.
- 재무 명령어 조종석 (Financial Command Cockpit): 2열 입력 처리, 원격 측정 상태(telemetry status), 실시간 장부 검색 필터, IRS 분석 레이더, 그리고 접을 수 있는 POSIX 로그 서랍이 갖춰진 고밀도 워크스테이션.
💰 부업 비즈니스 수학: 왜 오픈 혁신이 승리하는가 (The Side Hustle Business Math: Why Open Innovation Wins)
프롬프트는 다음과 같이 질문했습니다: 오픈 혁신은 당신이 구축한 것에 어떤 의미인가요? 누군가가 실제로 비용을 지불할 수 있을까요?
다음은 GhostLedger를 상업적인 부업으로 실행 가능하게 만드는 정확한 단위 경제학(unit economics) 분석입니다:
| 경비 도구 아키텍처 | 1,000개 영수증당 한계 비용 (Marginal Cost Per 1,000 Receipts) | $29 앱의 총 마진 (Gross Margin on $29 App) | 데이터 프라이버시 수준 |
|---|---|---|---|
| 독점 멀티모달 클라우드 API ($0.05/호출) | $50.00 | 마이너스 또는 매우 적음 (razor-thin) | ❌ 데이터가 클라우드로 전송됨 |
| GhostLedger (오픈 웨이트 Gemma 2) | $0.00 | 100% 총 마진 | ✅ 100% 로컬 / 에어갭(Air-Gapped) |
수익화 모델 (The Monetization Model)
- $29 일회성 평생 라이선스: 클라우드 SaaS를 거부하는 프라이버시 중시 소프트웨어 엔지니어, 변호사 및 컨설턴트를 위한 로컬 Electron/데스크톱 앱 또는 CLI 바이너리. 저 같은 인디 개발자에게는 반복적인 서버 비용이 없습니다.
- $9/월 주권 자가 호스팅 팀 에디션: 금융 데이터를 제3자 클라우드에 노출하지 않으면서 공유 감사 보고서를 원하는 부티크 컨설팅 회사를 위한 Docker화된 팀 컨테이너.
Google의 Gemma 2가 Apple Silicon 또는 표준 노트북 CPU에서 한계 비용(marginal cost) 없이 실행되기 때문에, 비즈니스 수학이 실제로 작동합니다.
🛠️ 무엇이 잘못되었나 (엔지니어링 난관)
1주차 때와 마찬가지로, 저는 엄격한 규칙을 세웠습니다: 모든 주장을 검증하고 실제 네트워크 및 런타임 동작을 검사하는 것. 이 규칙 덕분에 몇 가지 까다로운 버그를 발견할 수 있었습니다:
1. Vercel의 이중 리포지토리 함정
'Vercel로 배포(Deploy with Vercel)' 버튼을 사용했을 때, Vercel은 프로젝트를 XiaoArnav/ghostledger라는 새 리포지토리에 복제했습니다 (하이픈 없음). 몇 번 커밋 동안 저는 XiaoArnav/ghost-ledger에 업데이트를 푸시하고 있었는데, 왜 Vercel이 여전히 이전 빌드를 제공하는지 궁금했습니다! GitHub API를 검사한 결과 두 번째 리포지토리가 발견되었습니다. 저는 둘 다 동기화하고 Git 이중 푸시 URL(git remote set-url --add --push origin ...)을 구성하여 이제 모든 푸시가 두 리포지토리 모두에 동시에 배포되도록 했습니다.
2. 레거시 builds vs. 모던 Vercel 라우팅
초기 버전의 vercel.json은 레거시 @vercel/static 및 @vercel/python builds 블록을 사용했습니다. 최신 Vercel에서는 이것이 정적 라우팅 충돌을 일으키고 HTML 서브페이지에 404 오류를 반환하게 했습니다. 저는 더 이상 사용되지 않는(deprecated) builds 블록을 제거하고, 깨끗한 모던 cleanUrls: true와 리라이트를 사용하도록 마이그레이션했습니다.
3. 3D 입자 텍스트 선택 오류
미션 매니페스토(Mission Manifesto) 랜딩 페이지에서 3D 캔버스 위를 클릭하거나 드래그하면 브라우저가 히어로 텍스트를 하이라이트하는 문제가 있었습니다. 저는 뷰포트 전체에 엄격한 user-select: none;을 추가하고 빠른 다중 클릭(e.detail > 1)을 억제함으로써 이 문제를 해결했습니다.
4. 에어갭 클라이언트 복원력
엣지 서버리스 함수가 콜드 스타트 지연을 겪더라도 라이브 웹 앱이 작동하도록 하기 위해, 저는 public/app.js 내부에 완전한 클라이언트 측 결정론적 폴백 엔진(deterministic fallback engine)을 구축했습니다. 만약 서버리스 /api/parse 엔드포인트에 지연이 발생하더라도, 로컬 엔진이 사용자가 눈치채지 못하는 사이에 브라우저에서 즉시 영수증 항목별 분류(itemizes)를 수행합니다.
🏆 수상 부문 (Prize Categories Entered)
- 최우수상 (Overall Winner): 프리랜서가 $3,000 이상의 문제를 해결하고 100% 총이익 마진의 사이드 허슬 경제학을 갖춘 실용적인 실제 유틸리티.
- 주요 부문: Gemma 활용 최우수 (Featured Category: Best Use of Gemma): 클라우드 누출 없이 에어갭 환경에서 구조화된 추출 및 세금 공제 추론을 위해 Google의 Gemma 2 오픈 웨이트 모델 패밀리를 사용합니다.
- 주요 부문: DigitalOcean 활용 최우수 (Featured Category: Best Use of DigitalOcean): 클라우드 인프라 청구서에 대한 자동 분류 기능과 제로 의존성(zero-dependency) 프로덕션 배포 청사진을 포함합니다.
🏷️ Hacktoberfest 2026 태그 및 디스커버리 인덱스 (Tags & Discovery Index)
GhostLedger는 세 가지의 개별적인 태그 카테고리를 사용하여 공식 Hacktoberfest, DEV, GitHub 채널에 색인화(indexed)되어 있습니다:
- DEV 챌린지 제출 태그 (DEV Challenge Submission Tags):
#hf26challenge— Hacktoberfest 2026 오픈 소스 AI 챌린지 시리즈의 공식 필수 챌린지 태그.#gemma— 주요 파트너 부문: **Gemma 활용 최우수 (Best Use of Gemma)**에 참여합니다($200 상금 + 독점 배지).#opensource— 글로벌 오픈 소스 개발자 생태계와 연결됩니다.#ai— 오픈 웨이트 및 오픈 소스 AI 빌더 피드에 색인화됩니다.
- GitHub 리포지토리 토픽 (GitHub Repository Topics):
hacktoberfest,hacktoberfest2026,side-hustle,gemma,gemma2,privacy,taxes,schedule-c,zero-leak,air-gapped,accounting
- 패키지 및 메타데이터 키워드 (Package & Metadata Keywords):
pyproject.toml및setup.py에 선언됨:hacktoberfest,hacktoberfest2026,side-hustle,gemma,gemma2,privacy,receipt-scanner,taxes,schedule-c,accounting,freelance,zero-leak,air-gapped
🚀 사용해 보기 (Try It Out)
- Live Web App: https://ghostledger-topaz.vercel.app
- Source Code & Test Suite (15/15 Passing): https://github.com/XiaoArnav/ghostledger
또한 10초 만에 로컬에서 실행할 수 있습니다 (표준 Python 라이브러리만 사용하며, pip 설치가 필요 없습니다):
git clone https://github.com/XiaoArnav/ghostledger.git
cd ghostledger
python3 -m privatereceipt.cli demo
...
DEV와 Hacktoberfest 팀에 또 다른 놀라운 도전을 주셔서 감사합니다! 👻⚖️
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기