키워드를 켜두면,
소식이 모입니다.
뉴스·공시·지원사업·정책·특허까지 분야를 가리지 않고 모아, 같은 사건은 하나로 묶고, 출처 본문과 대조한 요약만 실시간 피드와 알림으로 보여줍니다.
무엇을, 누구에게, 왜
관심사는 여러 분야에 흩어져 있는데, 소식은 매체마다 따로 나오고 같은 내용이 수십 번 반복됩니다. Keyon은 키워드 하나로 이 흐름을 한 줄의 타임라인으로 정리합니다.
핵심 가치
분야를 가리지 않음
키워드 하나로 뉴스, 공시, 지원사업 공고, 정책·법령, 특허, 연구, 입찰까지 함께 찾습니다.
같은 사건은 카드 하나
여러 매체가 다룬 같은 소식은 한 카드로 묶고 출처 수를 보여줍니다. 요약도 사건마다 한 번만 합니다.
근거가 확인된 요약
요약 문장을 출처 본문과 대조해 확인된 것에만 검증 배지를 붙입니다. 원문에 없는 수치는 넣지 않습니다.
앱 없이도 알림
설치형 PWA와 웹 푸시로 시작합니다. 키워드마다 끔 / 중요만 / 전체 중에서 알림 단계를 고릅니다.
대상 사용자
개인 투자자
보유 종목의 뉴스와 공시를 한곳에서 보고, 중요한 것만 바로 알림으로 받고 싶은 사람.
창업자·소상공인
지원사업 공고와 관련 정책 변화를 놓치지 않고, 마감 전에 알림을 받고 싶은 사람.
실무자·연구자
자기 분야의 기술, 경쟁사, 규제 움직임을 매일 따라가야 하는 사람.
지키는 원칙
출처를 먼저
- 기사 원문을 저장하거나 보여주지 않습니다. 제목, 짧은 AI 요약, 출처명, 원문 링크만 둡니다.
- 원문 링크는 앱 안 브라우저로 엽니다.
조용하게 시작
- 1~3단계에는 광고, 거래 연결, 포인트·배지 같은 게임화를 넣지 않습니다.
- 투자 조언이나 전망을 쓰지 않고 무엇이 일어났는지와 근거, 이전 맥락만 보여줍니다.
공식 경로로 수집
- 공식 API를 먼저 씁니다. robots.txt가 막는 곳은 수집하지 않습니다.
- 수집기는 LLM을 부르지 않습니다. 요약은 서버에서 API 키 과금 방식으로 합니다.
흐름을 끊지 않음
- 카드는 그 자리에서 펼칩니다. 상세 화면은 공유·푸시·근거 보기로 들어올 때만 씁니다.
- 푸시·공유·위젯은 모두 같은 고정 주소로 바로 열립니다.
요금제 (초안)
| 요금제 | 키워드 | 알림 | 그 밖의 기능 |
|---|---|---|---|
| 무료 | 3개 | 하루 요약 1회 + 중요 알림 | 피드, 카드 펼침, 키워드 상세 |
| 프로 (구독) | 무제한 | 실시간 푸시, 키워드별 단계 | 분야별 필터, 지난 기록 검색, 방해 금지 시간 |
프로 가격은 키워드당 수집 주기 × 사건당 요약 비용으로 계산합니다. 기사마다가 아니라 사건마다 요약하므로 비용은 기사 수가 아니라 사건 수에 비례합니다.
키워드 하나, 여러 분야
수집기마다 분야(domain)를 갖고, 키워드 종류에 따라 기본으로 켜는 분야가 다릅니다. 사용자는 키워드마다 분야를 켜고 끌 수 있습니다.
구글 뉴스 RSS · 네이버 뉴스 검색 API
DART 공시검색 API. 회사명·보고서명으로 거름
기업마당 공고 API · K-Startup 공식 API
정책브리핑 RSS · 국회 의안정보 API
국가법령정보 API (제정·개정 알림)
KIPRIS Plus API
국내 학술 API · arXiv
구글 뉴스 RSS 영어권
나라장터 입찰공고 API
Hacker News API
키워드 종류별 기본 분야
| 키워드 종류 | 예시 | 기본으로 켜는 분야 |
|---|---|---|
| 종목(상장사) | 삼성전자 | 뉴스 · 공시 |
| 지원사업 | 창업지원금 | 지원사업 · 정책 · 뉴스 |
| 정책·법령 | 가상자산 과세 | 뉴스 · 정책 · 법령·의안 |
| 기술·연구 | 전고체 배터리 | 뉴스 · 특허 · 연구 · 해외 뉴스 |
| 일반 주제 | 저출생 | 뉴스 (+ 결과가 있는 분야를 자동 제안) |
다섯 단계
분야별 수집 → 같은 사건 묶기 → 요약 → 근거 검증 → 중요도 → 저장. 5~15분 주기. 피드·카드 API.
피드, 카드 펼침·상세, 키워드 상세, 키워드 추가(로그인 없이 브라우저 저장), 새 소식 띠, 다크 모드·글자 크기. Cloudflare Pages + D1.
로그인, 구독 저장, 무료 한도, 웹 푸시, 알림 목록·설정, 하루 요약.
Flutter(안드로이드 먼저), 앱 푸시, 홈 화면 위젯(키워드 묶음 선택), 결제.
카드별 토론, 키워드 방, 카드를 인용한 글쓰기.
탭 셋, 축은 키워드
모든 화면이 켜둔 키워드 단위로 움직입니다. 피드 위 칩, 키워드 상세, 알림 단계, 위젯이 같은 키워드 목록을 공유합니다.
하단 탭
- 피드: 기본 화면. 켜둔 키워드 칩 + 시간순 카드
- 키워드: 켜기·끄기, 추가, 순서, 분야, 한도
- 알림: 받은 알림 목록, 알림 설정
- 상단 바: 로고 · 검색 · 설정
- 5단계: 커뮤니티 탭 추가
| 주소 | 화면 |
|---|---|
/ | 피드 (전체) |
/?k={slug} | 피드, 키워드 칩 선택 |
/k/{slug} | 키워드 상세 |
/c/{cardId} | 카드 상세 (공개, og 태그) |
/keywords, /keywords/add | 키워드 관리, 추가 |
/alerts, /settings/alerts | 알림 목록, 설정 |
/settings | 테마, 글자 크기, 계정 |
주요 화면
아래 시안은 이 페이지의 디자인 토큰으로 직접 그렸습니다. 위쪽 테마 전환과 아래 글자 크기 전환이 시안에도 그대로 적용됩니다.
삼성전자, 3분기 잠정 영업이익 발표
메모리 가격 회복으로 전 분기보다 영업이익이 늘었다고 공시했다. 반도체 부문이 증가를 이끌었다.
중기부, 내년 창업지원 예산 확대안 발표
예비창업패키지 선정 규모를 늘리는 안을 내놓았다. 세부 공고는 연말에 나온다.
전고체 배터리 전해질 관련 특허 공개
황화물계 전해질의 수분 안정성을 높이는 방법에 대한 출원이 공개됐다.
삼성전자, 3분기 잠정 영업이익 발표
메모리 가격 회복으로 전 분기보다 영업이익이 늘었다고 공시했다. 반도체 부문이 증가를 이끌었고, 모바일 부문은 신제품 출시 효과가 이어졌다. 확정 실적은 이달 말 발표한다.
삼성전자 자기주식 취득 결정
주요사항보고서를 통해 자기주식 취득을 결정했다고 밝혔다.
삼성전자, 3분기 잠정 영업이익 발표
/c/{id}푸시·공유로 들어오는 곳. 검증 상태와 출처 목록, 하단 고정 행동3분기 잠정 영업이익 발표
메모리 가격 회복으로 전 분기보다 영업이익이 늘었다.
자기주식 취득 결정
주요사항보고서를 통해 자기주식 취득을 결정했다.
파운드리 2나노 고객사 추가 확보설
업계 보도가 나왔으나 회사는 확인하지 않았다.
/k/{slug}종류 · 언급 추이 · 결과가 있는 분야만 탭으로SK하이닉스 알림을 어떻게 받을까요?
나중에 키워드 탭에서 바꿀 수 있어요
어떤 소식을
켜둘까요?
하나 이상 고르면 바로 피드를 만들어 드려요. 로그인은 나중에 해도 돼요.
새 소식이 오면 여기에 바로 보여드릴게요.
분야를 더 켜면 더 많이 찾을 수 있어요.
움직임의 규칙
카드 3단계
- 접힘: 제목 2줄 + 요약 2줄
- 펼침(카드를 누름): 요약 전체 + 같은 사건 출처 + 이전 관련 1줄
- 상세: 공유·푸시로 들어오거나 "근거 보기"를 누를 때
새 소식 띠
- 피드가 열려 있으면 30초마다 새 카드 개수만 조회
- 새 카드가 있으면 상단에 "새 소식 N건". 누르면 맨 위로 가며 목록을 다시 받음
- 스크롤 위치를 갑자기 바꾸지 않음
읽은 위치
- 마지막으로 본 카드를 기억
- 다시 열면 "여기까지 읽었어요" 구분선
- 키워드 칩마다 스크롤 위치를 따로 기억
키워드 강조
- 제목·요약에서 켜둔 키워드와 별칭에 형광펜 밑줄
- 예: 삼성전자 · 삼전 · Samsung Electronics
확인 창 대신 토스트
- 켜기·끄기·저장은 바로 반영하고 토스트로 알림
- 되돌릴 수 있는 동작이면 토스트에 "되돌리기"
- 되돌릴 수 없는 동작(계정 삭제)만 확인 창
바텀시트
- 선택지 3~6개는 바텀시트(알림 단계, 분야, 정렬)
- 끌어 내리거나 바깥을 눌러 닫음
필요한 것만, 필요한 때에
| 단계 | 방식 |
|---|---|
| 2 PWA | 30초 개수 조회 → 새 소식 띠 |
| 3 계정·푸시 | 웹 푸시(VAPID). 키워드별 단계 · 방해 금지 · 하루 요약 |
| 4 앱 | 앱 푸시 + 홈 위젯(키워드 묶음, 항목을 누르면 /c/{id}) |
중요도 규칙 (규칙 먼저, LLM은 보조)
- 같은 사건을 다룬 매체 수
- 공시 종류 (주요사항보고, 잠정실적 등)
- 지원사업 마감 임박 (D-3, D-1)
- 법령 공포·시행일
- 키워드가 제목에 있는지
중요만 단계는 중요 카드만, 전체 단계는 모든 새 카드를 보냅니다. 알림 권한은 첫 키워드를 켜고 피드를 본 뒤에 묻습니다.
Keyon 디자인 시스템
강조색 하나와 회색 단계로 조용하게. 색은 "켜짐"(키워드, 활성, 검증)에만 쓰고, 주의를 끌어야 할 때(중요)는 다른 색 하나만 씁니다.
원칙
켜짐 = 초록
강조색은 켜진 상태(토글, 선택 칩, 키워드 강조, 검증)에만 씁니다.
시간이 축
시각 배지는 늘 왼쪽 열에 둡니다. 눈이 세로로 시간을 따라갑니다.
선 하나로 구분
카드는 그림자 대신 얇은 선으로 나눕니다. 그림자는 떠 있는 것(시트, 토스트)에만.
두 테마 동등
라이트·다크를 처음부터 같은 토큰으로 만들고 대비를 각각 확인합니다.
색
글자
Pretendard. 숫자는 표 정렬(tabular-nums). 본문 줄간격 1.5~1.65. 한국어 줄바꿈은 단어 단위(keep-all).
간격 · 모서리 · 그림자
간격 (4의 배수)
화면 좌우 여백 14~16, 카드 안쪽 12, 섹션 사이 24.
모서리
배지 6, 버튼·입력 12, 시트 20, 칩·토글 pill.
그림자
평면(선)과 떠 있음(시트·토스트·새 소식 띠) 두 가지만.
컴포넌트
| 카드 요소 | 규칙 |
|---|---|
| 시각 배지 | 오늘은 HH:MM, 그 전은 M.DD. 왼쪽 52px 열 고정 |
| 제목 | 2줄 말줄임. 켜둔 키워드 강조 |
| 요약 | 접힘 2줄, 펼침 전체(최대 5문장). 원문에 없는 수치 금지 |
| 배지 순서 | 중요 → 검증 → 분야 → 출처명 외 N곳 |
| 행동 | 키워드 칩 · 원문(앱 안 브라우저) · 공유. 투표·댓글은 5단계 |
접근성
- 본문 대비 4.5:1 이상, 배지 글자 3:1 이상 (두 테마 모두)
- 누를 수 있는 영역 최소 44×44
- 글자 크기 3단계(보통·크게·아주 크게). 카드 높이는 글자에 맞춰 늘어남
- 움직임 줄이기 설정이면 스켈레톤·전환 애니메이션 끔
- 색만으로 뜻을 전하지 않음: 중요·검증 배지에는 항상 글자
수집에서 알림까지
백엔드는 Python(수집·묶기·요약·검증), 서비스 쪽은 Cloudflare Pages Functions + D1.
데이터 모델
| 테이블 | 주요 열 |
|---|---|
| keyword | id, slug, name, kind, aliases, corp_code |
| item | id, keyword_id, source, domain, title, url, publisher, snippet, published_at — 본문 열 없음 |
| card | id, keyword_id, title, summary, importance, verified, first_seen_at, updated_at |
| card_item | card_id, item_id (같은 사건 묶음) |
| user | id, plan, created_at |
| subscription | user_id, keyword_id, alert_level, domains, position |
| push_endpoint | user_id, endpoint, keys |
| notification | id, user_id, card_id, sent_at, read_at |
| user_settings | quiet_start, quiet_end, digest_time, theme, font_size, bookmark_card_id |
API
| 요청 | 용도 |
|---|---|
GET /api/feed?k=&before= | 카드 목록 (커서, 20건씩) |
GET /api/feed/count?k=&since= | 새 카드 수 (30초) |
GET /api/cards/{id} | 카드 상세 + 출처 + 이전 관련 |
GET /api/keywords?q=&kind= | 검색·추천 (오늘 건수) |
GET /api/keywords/{slug}?tab= | 키워드 상세 |
PUT/DELETE /api/me/subscriptions/{id} | 켜기·끄기·알림 단계·분야 |
POST /api/me/push | 웹 푸시 구독 |
GET/PATCH /api/me/settings | 설정 |
실시간 속보 앱에서 배운 것
국내 가상자산 속보 서비스(코인니스)의 안드로이드 앱과 모바일 웹을 하위 화면까지 살펴봤습니다. 배치와 흐름만 참고하고, 로고·문구·색·아이콘은 쓰지 않습니다.
가져온 것
- 시각 배지가 왼쪽에 붙은 타임라인 카드
- 카드를 그 자리에서 펼치기
- 같은 사건의 이전 소식 연결
- 종목별 페이지(시세·속보·뉴스·토론) → 키워드 상세
- "중요만 / 전체" 알림 단계
- 본문 속 종목명·별칭 강조
- 구독 추가 화면(분류 칩 + 검색 + 추가 버튼)
- 위젯의 "최대 5개 고르기", 항목을 누르면 상세로 바로
- 책갈피(마지막으로 읽은 곳부터), 글자 크기, 다크 모드
- 웹의 30초 개수 조회 방식
다르게 가는 것
- 하단 탭 5개(거래·속보·커뮤니티·마켓·라이브) → 3개
- 피드·상세·검색 곳곳의 광고 → 1~3단계 광고 없음
- AI 분석이 투자 해석(단기·중장기 영향) → 사실 요약 + 근거 검증
- 기사 하나 = 카드 하나 → 같은 사건은 카드 하나
- 한 분야(가상자산) → 여러 분야
- 웹은 앱 설치 유도, 웹 푸시 없음 → PWA + 웹 푸시가 기본
- 앱에서 새 글은 당겨서 새로고침 → 새 소식 띠
- 포인트·배지·출석 → 넣지 않음
남은 결정
| 항목 | 제안 |
|---|---|
| 무료 키워드 한도 | 3개 |
| 요약 모델·사건당 비용 상한 | 프로 가격 계산 전에 실측 |
| 너무 넓은 키워드 | 미리보기가 하루 200건 이상이면 "좁혀보세요" 안내 |
| 로그인 방식 | 카카오 · 구글 · 이메일 링크 중 선택 |
| 도메인 | keyon.io / keyon.co / keyon.news 재확인 후 구매 |
| API 키 | 네이버 개발자, DART, 공공데이터포털, 법제처, KIPRIS 발급 |