Project Report: gichulnote
Analysis Context
- Agent: Claude Code (claude-opus-4-6)
- Project: gichulnote (기출문제 학습 앱 + 웹사이트)
- Privacy level: Full (출시 앱)
- Commits reviewed: 20+ (최근 12개월)
- Sessions analyzed: 6 (+ 하위 프로젝트 세션)
- Period: 2025-06 ~ 2026-03
- Confidence: Medium
Project Overview
각종 시험(9급 국가직, 경찰대학, 한국사능력검정시험, 독학학위검정시험 등)의 기출문제를 학습할 수 있는 멀티플랫폼 서비스입니다. Flutter 모바일 앱과 Astro 정적 웹사이트로 구성되며, JSON 기반 시험 프리셋 시스템으로 다양한 시험을 관리합니다.
Tech Stack: Flutter (모바일 앱), Astro (웹사이트), Playwright (E2E 테스트), JSON 프리셋 시스템
User's Role & Contributions
Youngsup은 이 프로젝트의 유일한 개발자이자 콘텐츠 관리자입니다. 앱 개발, 웹사이트 구축, 시험 프리셋 데이터 수집/검증, SEO 최적화, 앱스토어 배포까지 전체를 담당합니다.
Technical Decisions
| Decision | Chosen Approach | Reasoning | Alternatives Considered |
|---|---|---|---|
| 플랫폼 전략 | Flutter 앱 + Astro 웹사이트 | 앱은 학습 기능, 웹은 SEO/발견성 | 웹앱 단일 (오프라인 지원 어려움) |
| 시험 데이터 | JSON 프리셋 + 버전 기반 캐시 무효화 | 새 시험 추가 시 앱 업데이트 없이 프리셋만 배포 | 서버 API (불필요한 복잡성) |
| iPad → 유니버설 | iPhone+iPad 유니버설 앱으로 전환 | 더 넓은 사용자 접근 | iPad 전용 유지 |
| SEO | 시험별 메타태그 + structured data + canonical URL | 검색 엔진에서 기출문제 발견성 극대화 | 기본 메타태그만 |
Notable Problem-Solving
프리셋 검증 시스템 구축. 시험 프리셋 추가 시 데이터 정확성을 보장하기 위한 검증 시스템을 구축. 필수 필드의 무결성을 자동 검증합니다.
SEO 최적화 전략. 시험 목록 페이지에 범용 키워드를 보강하고, 분리형 시험 페이지에 시험별 SEO 메타태그와 structured data를 추가. canonical URL과 기술적 SEO까지 챙겼습니다.
캐시 무효화 UX. 버전 기반 캐시 무효화에 수동 새로고침 UI를 추가하여, 새 프리셋이 배포되었을 때 사용자가 즉시 최신 데이터를 받을 수 있도록 했습니다.
Characteristics Revealed
이 프로젝트에서 드러나는 특성은 제품 감각과 마케팅 인식입니다. 단순히 앱을 만드는 것을 넘어, SEO 최적화로 검색 발견성을 높이고, 사용자 획득까지 고려합니다. 기술 개발자이면서 동시에 제품의 전체 생명주기를 관리하는 1인 사업자의 모습입니다.
또한 멀티플랫폼 일관성에 대한 고려가 보입니다. Flutter 앱과 Astro 웹사이트가 동일한 프리셋 데이터를 공유하고, 웹사이트는 앱의 발견성(SEO)을 보완하는 역할을 합니다.
Git & GitHub Analysis
- Commit style: 한글 Conventional Commits, 기능(feat)/수정(fix)/문서(docs)/설정(chore) 분류 명확
- Commit frequency: 기능 추가와 SEO 작업이 교차하는 패턴
- Code quality signals: 프리셋 검증 시스템, 버전 기반 캐시 관리, 체계적 테마 정리
- Release management: 시맨틱 버전 관리, iOS 빌드 번호 추적
Summary
gichulnote는 Youngsup의 제품 감각과 1인 사업자 역량이 드러나는 프로젝트입니다. Flutter 앱 + Astro 웹사이트의 멀티플랫폼 전략, JSON 프리셋으로 콘텐츠를 독립 관리하는 아키텍처, SEO까지 고려하는 전방위적 접근이 특징적입니다. 세션 데이터는 상대적으로 적지만, git 히스토리는 꾸준한 기능 추가와 품질 개선을 보여주며, iPad 전용에서 유니버설 앱으로의 전환처럼 사용자 접근성을 넓히는 방향으로 발전하고 있습니다.