“삼성헬스 있는데 왜 만들어요?”
타당한 질문이다.
삼성헬스는 무료고, 수십억 들여서 만들었다.
근데 우리 엄마는 삼성헬스를 3일 만에 포기했다.
“뭘 눌러야 하는지 모르겠어.”
왜 이 프로젝트를 시작했나
엄마가 고혈압 진단을 받았다.
의사가 “매일 혈압 기록하세요”라고 했다.
삼성헬스를 깔아드렸다.
3일 후 전화가 왔다.
“글씨가 작아서 안 보여.”
“어디 눌러야 혈압 넣는지 모르겠어.”
“그냥 수첩에 쓸게.”
삼성헬스는 2030 피트니스 유저를 위해 설계됐다.
70대 만성질환자를 위해 설계된 게 아니다.
그 틈새에 시장이 있다.
왜 이 스택을 선택했나
Senior HealthNote의 기술 스택:
Backend
– Ruby on Rails 8.0.2 (최신 안정 버전)
– PostgreSQL + Supabase (하이브리드 DB)
– Redis + Sidekiq (백그라운드 작업)
– JWT + Devise (인증)
AI Integration
– OpenAI GPT-4 (건강 분석)
– DocumentOcrJob (문서 인식)
– AiFeedbackService (맞춤 피드백)
Infrastructure
– Docker + Kamal (배포)
– GitHub Actions (CI/CD)
– Traefik (리버스 프록시)
왜 Rails인가?
혼자 개발하는 프로젝트에서 가장 중요한 건 속도다.
Rails의 Convention over Configuration이 그걸 가능하게 한다.
모델 하나, 컨트롤러 하나, 라우트 한 줄.
API 엔드포인트가 10분 만에 생긴다.
왜 Supabase인가?
PostgreSQL의 안정성 + 실시간 기능 + 스토리지.
특히 가족 연결 기능에서 실시간 알림이 필요했다.
“엄마가 오늘 약 안 드셨어요” 같은.
노인 친화적 UX를 위한 설계
삼성헬스와 다른 점:
1. 큰 터치 영역
버튼 최소 48x48dp (접근성 가이드라인 준수)
주요 액션은 화면 하단 고정
2. 단순한 정보 구조
한 화면에 하나의 작업만
혈압 입력 → 저장 → 끝
3. 음성/이미지 입력
- VoiceUploadService: “혈압 120에 80”
- ImageUploadService: 혈압계 사진 → OCR → 자동입력
4. 가족 연결
- FamilyConnection 모델
- 자녀가 부모 건강 기록 열람 (권한 기반)
- 이상 징후 시 자동 알림
오늘 작업에서 FamilyController 테스트를 작성하면서 가족 연결의 권한 모델을 점검했다:
# spec/controllers/family_controller_spec.rb
describe "authorization" do
it "prevents accessing other user's family connections" do
expect {
get :show, params: { id: other_users_connection.id }
}.to raise_error(ActiveRecord::RecordNotFound)
end
end
자식이 부모 기록을 볼 수 있지만, 남의 부모 기록은 절대 못 본다.
당연한 것 같지만, 테스트로 보장해야 한다.
시장성 없는 프로젝트의 가치
솔직히 이 앱이 대박 날 거라고 생각 안 한다.
타겟이 좁다. 70대 만성질환자 + 그 가족.
마케팅 예산도 없다.
근데 이 프로젝트를 하면서 얻은 것:
| 배운 것 | 적용한 곳 |
|---|---|
| Rails 8 + Hotwire | 실시간 건강 대시보드 |
| JWT 인증 설계 | AuthService, refresh token |
| AI 서비스 통합 | OpenAI API, 프롬프트 엔지니어링 |
| CI/CD 파이프라인 | GitHub Actions + Kamal |
| 테스트 자동화 | RSpec 318개 케이스 |
| 병렬 AI 에이전트 | Claude Code Task 도구 |
이게 진짜 자산이다.
프로젝트가 실패해도, 이 기술들은 남는다.
다음 프로젝트에 그대로 쓸 수 있다.
당신의 “안 될 것 같은” 프로젝트
“이거 누가 쓰겠어?”
“돈이 안 될 텐데.”
“이미 있는 거 아냐?”
나도 다 들은 말이다.
내 머릿속에서도 매일 들린다.
근데 그냥 만들었다.
엄마가 쓸 수 있는 앱을 만들고 싶었으니까.
그리고 3개월 후,
Rails를 할 줄 알게 됐고,
AI 에이전트 8개를 동시에 굴릴 줄 알게 됐고,
테스트 커버리지가 뭔지 알게 됐다.
시장성 없는 프로젝트가 나를 성장시켰다.
당신도 접어둔 거 있을 거다.
“안 될 것 같아서” 미뤄둔 아이디어.
그거 꺼내봐.
AI한테 “이거 어떻게 시작해?”라고 물어봐.
3개월 후에 당신이 뭘 할 수 있게 됐는지,
그게 진짜 수익이다.
나도 그랬으니까.
