공지사항, 채용 공고, 복지관 소식. 필요한 정보 대부분은 웹페이지 게시판에 흩어져 있습니다. 화면을 훑어 새 글을 찾는 일이 시각장애인 사용자에게는 매번 스크린리더로 목록 전체를 처음부터 읽어 내려가는 일이 됩니다. 새 글이 올라왔는지 확인하는 것만으로도 비용이 큽니다.
오늘의 소리는 그 확인 과정을 대신합니다.
- 관심 있는 웹페이지 주소를 등록하면 크롤러가 주기적으로 새 글을 확인합니다.
- 새 글이 올라오면 Gemini가 제목·시간·장소 중심으로 본문을 요약합니다.
- 요약이 도착하면 푸시 알림으로 알리고, 앱에서 음성(TTS)으로 재생합니다.
- 키워드를 걸어 두면(예:
채용,인턴십) 원하는 글만 골라 받습니다.
화면 역시 스크린리더 사용을 전제로 만들었습니다. VoiceOver 라벨·힌트를 전 화면에 부여했고, 저시력 사용자를 위한 고대비 모드와 한국장애인개발원 KoddiUD 온고딕 서체를 적용했습니다.
| 홈 | 피드 | 알림 |
|---|---|---|
![]() |
![]() |
![]() |
| 큰 재생 버튼 하나로 오늘의 요약을 바로 듣습니다 | 구독처별로 모아 본 요약 카드, 원문 바로가기 제공 | 새 글 도착 알림. 고대비 색상으로 강조 |
| 구독 관리 | 설정 |
|---|---|
![]() |
![]() |
| 구독 페이지 추가·수정, 페이지별 키워드 지정 | 재생 설정, 고대비 모드 전환, 앱 초기화 |
| 영역 | 구성 |
|---|---|
| 네트워크 | VPC 10.0.0.0/16, public/private 서브넷 각 2개, IGW + EIP, Route53(today-sound.com) |
| 애플리케이션 | main EC2 - Spring Boot(:8080) · Grafana Alloy 컨테이너 |
| 데이터 | RDS MySQL 8.0 (private 서브넷, db subnet group), S3 assets(버저닝·CORS) / S3 logs |
| 관측 | monitoring EC2 - Prometheus · Loki · Tempo · Grafana (Alloy가 메트릭·로그·트레이스 수집) |
| 부하 테스트 | loadtest EC2 - k6 · Locust · Apache Bench |
| 인프라 관리 | Terraform Cloud VCS 연동 workflow (terraform-infra) |
배포 파이프라인과 크롤링 아키텍처는 백엔드 README에 정리했습니다.
| 저장소 | 설명 |
|---|---|
| FE | iOS 앱 (Swift · SwiftUI). 음성 재생, 접근성 대응 |
| server | 백엔드 API (Spring Boot · MySQL · FCM). 배포·크롤링 아키텍처 문서 |
| crawler | 구독 사이트 크롤러 (Python · BeautifulSoup · Gemini 요약) |
| terraform-infra | AWS 인프라 IaC (Terraform Cloud) |
| LandingPage | 서비스 소개 랜딩 페이지 (React · Vite · Tailwind) |
발표 자료: 2025 배리어프리 앱 개발 콘테스트 완료발표회 자료 · 초기 기획서
세 명 모두 기획 · 디자인 · 개발 전 영역을 함께 맡았습니다.






