← Work

동료를 위해 만든 도구

카야토스트읽고, 질문하고, 기록하는 도구

기술 스택
TypeScript · Astro · React · SQLite · Claude Code CLI
프로젝트 소개
관심 주제의 기술 글을 AI로 만들고, 읽던 문장에서 질문하거나 메모해 원문과 함께 다시 보는 팀 내부 학습 도구입니다.
담당 역할
자발적 기획 · 설계 · 풀스택 개발
카야토스트 본문의 선택한 구간에서 AI 대화와 노트를 이어가는 화면
↓

핵심 구현 01

구현한 주요 내용

  1. 읽던 위치에서 질문하고 기록으로 돌아오기

    글과 선택한 구간을 AI 질문의 맥락으로 전달하고, 답변과 메모를 원문 위치에 연결해 저장하도록 구현했습니다. 생성 작업의 상태를 관리하고, 재시작으로 중단된 작업은 사용자가 확인하고 재시도할 수 있도록 했습니다.

목차

01 / 관심 주제로 글 만들기

주제를 정하고,
오늘 읽을 글을 굽습니다.

관심 주제와 글 수, 모델을 설정해 둡니다. ‘오늘 글 굽기’에서 내용을 확인하고 시작하면, 주제별 글이 생성됩니다.

카야토스트의 글 생성 대화상자: 활성 주제 3개와 글 수, 사용할 모델을 확인한 뒤 굽기 시작을 누릅니다
생성할 주제와 글 수를 한 번에 확인합니다.
↓

02 / 하루치 공부를 모으는 곳

구워진 글은,
다시 꺼내 읽기 좋게

주제별 글을 날짜 단위로 모았습니다. 관심 있는 글을 고르고, 본문과 목차를 따라 읽습니다. 매일 공부하는 습관을 돕되, 글 생성은 사용자가 ‘오늘 글 굽기’를 누를 때 시작합니다.

기술 주제별 학습 글을 날짜로 묶어 보여 주는 카야토스트 피드
내가 고른 주제를, 하루치 읽을거리로.
↓

03 / 기억하고 싶은 곳에 잼 한 번

모르는 문장을 지나치지 않게
질문도, 메모도 그 자리에

읽다가 궁금한 구간을 선택합니다. AI에게 묻거나 내 생각을 노트로 남깁니다. 본문의 잼 표시로 그 문장에서 시작한 기록을 다시 엽니다. 문장과 노트를 연결한 방식에 위치 복원의 조건과 한계를 남겼습니다.

카야토스트 실제 본문: 메모를 남긴 문장에 강조 표시가 생기고, 같은 줄 오른쪽에 카야잼 버튼이 나타납니다
실제 본문의 강조 표시와 같은 줄 오른쪽의 잼 버튼.

짧게 읽고, 기억하고 싶은 문장에 잼을 발라 보세요.

작업 큐를 읽는 아침

본문에서 궁금한 문장을 골라 보세요.

새 대화창에서,
다시 설명하지 않아도

질문에는 글과 선택한 구간, 같은 스레드의 이전 대화를 함께 전달합니다. 답변은 노트로 저장하고 본문 강조 표시와 연결합니다. 다른 구간에서 시작한 대화는 섞지 않습니다. 대화와 노트의 출처를 구분한 기록에서 이 연결의 기준을 설명합니다.

카야토스트에서 선택한 문장을 질문하고 답변을 노트로 저장하는 실제 화면의 확대 영역
읽던 문장 → 이어 묻기 → 기록 남기기.
글의 본문과 질문, 노트를 함께 읽는 카야토스트 전체 화면
글을 읽는 자리에서 질문과 노트를 함께 이어갑니다.
↓

04 / 이름이 된 습관

카야토스트를 먹으며
기술 글을 읽곤 했습니다.

주말 아침의 읽기 습관을 동료들도 쓸 수 있는 학습 도구로 옮겼습니다.

관심 주제로 글을 만드는 기능은 빵 굽기로, 본문에 메모나 대화를 남기는 기능은 잼 바르기로 표현했습니다.

↓

05 / 생성 작업과 읽기 기록의 관리

생성 상태를 남기고,
대화와 노트를 저장합니다.

한 Node·PM2 프로세스 안에서 생성 큐를 실행하고, SQLite에 작업 상태와 읽기 기록을 남깁니다.

주제와 생성주제별 입력
주제별 프롬프트·모델·작성 깊이와 최근 글 제목을 전달합니다.
큐 → Claude CLI
큐가 Claude CLI를 실행하고 응답 구조를 검증해 글로 저장합니다.
생성 작업 · 진행과 복구실행 상태
동시 실행 수를 제한하고 대기·실행·완료·실패 상태를 남깁니다.
재시도 · 미완료 정리
재시작 시 대기는 다시 넣고 실행 중이던 작업은 실패로 정리합니다. 수동 재시도는 새 작업입니다.
대화와 노트글 · 선택 구간 · 대화 · 노트
Astro와 React로 글·선택 구간·대화·노트를 연결했습니다.
SQLite 기록
SQLite에 저장한 스레드와 기록을 다시 열 수 있습니다.
대화와 노트 · 다음 확인후속 평가
답변 정확성·학습 효과와 질문·노트의 재사용은 후속 평가 범위입니다.
전체 연결 읽기 · 5개
  • 주제별 입력 → 큐 → Claude CLI
  • 큐 → Claude CLI → 실행 상태
  • 실행 상태 → 재시도 · 미완료 정리
  • 글 · 선택 구간 · 대화 · 노트 → SQLite 기록
  • 글 · 선택 구간 · 대화 · 노트 → 후속 평가 · 점선 연결

운영에서 남긴 기준

실행 순서를 조정하는 큐와 재시작 후 판단할 작업 기록을 나눴습니다. 중단된 실행을 자동으로 이어가거나 여러 프로세스의 중복 생성을 막는 구조는 아닙니다. 프로세스 내부 큐의 복구 정책에 상태별 처리와 검증 범위를 정리했습니다.

문장을 질문과 노트에 연결하는 기능까지 구현했고, 답변의 정확성과 학습 효과는 후속 평가로 남겼습니다. 기록을 다시 찾을 수 있다는 동작과 실제로 학습에 도움이 됐다는 판단을 구분합니다.

선택해서 보기 · 가상 워크플로 평가 예시

가상 평가 예시 · 실측 전

읽던 위치와 질문을 다시 찾는 과정

글과 질문을 별도로 저장하는 방식과, 본문의 잼 표시·대화·노트로 이어 읽는 방식을 비교하는 가상 시나리오입니다.

수치·표본 설정·피드백은 평가 화면을 설명하기 위해 만든 가상 예시입니다. 실제 동료에게서 수집한 기록이나 의견이 아니며, 개선 효과를 입증하지 않습니다.

가상 작업 지표 비교
관찰할 과정 · 단위기존 방식
글 · 별도 대화 · 메모
도구 사용
본문 표시 · 연결된 기록
가상 차이
실제 개선율 아님
표시한 위치 다시 찾기초 / 작업 9058 35.6%
이어 물을 문맥 준비분 / 작업 2.51.7 32%
질문과 설명 기록 연결분 / 작업 32.4 20%
표본·계산식·관찰 범위와 다음 평가

가상 작업 같은 기술 글의 표시한 구간을 다시 읽고 질문 기록 남기기

가상 표본 설정 역할 시나리오 8종 × 작업 4회 = 방식별 32회. 참여자를 모집하거나 수행한 실험이 아닙니다.

같은 글·질문·메모 내용을 가정합니다. 구간 1곳과 질문 1건을 다루는 작업당 평균이며, 대기·AI 답변 생성 시간은 제외합니다. 지식 습득이나 답변 정답률은 평가 범위에 넣지 않습니다.

가상 차이 = (기존 방식 값 − 도구 사용 값) ÷ 기존 방식 값. 가상 평균값으로 계산한 비율이며, 실제 개선율이나 인과관계의 근거가 아닙니다.

표의 각 값은 방식별 32회 평균을 가정합니다.

표시한 위치 다시 찾기의 관찰 범위
저장한 글을 연 뒤 이전에 표시한 문장과 연결 기록을 찾을 때까지의 사람 작업 시간.
이어 물을 문맥 준비의 관찰 범위
해당 위치를 찾은 뒤 문장·이전 질문을 확인하고 후속 질문을 보낼 때까지. 답변 대기는 제외.
질문과 설명 기록 연결의 관찰 범위
답변이 나온 뒤 질문·설명을 메모로 남기고 원문 위치에 연결할 때까지의 사람 작업 시간.
↓