{"schemaVersion":1,"source":"https://toris.kr/projects","checkedOn":"2026-09-06","total":39,"projects":[{"slug":"builderstep","name":"빌더스텝","nameEn":"BuilderStep","tagline":"돈·고객·약속을 근거가 있는 한 줄로","taglineEn":"Bring money, customers, and commitments into one clear operating ledger","description":"1인 개발자를 위한 운영 ERP. 매출·비용·미수금과 고객 신호를 모아 오늘 처리할 일, 현금 흐름, 주간 마감을 한곳에서 정리합니다. 제품의 사업화 단계별 로드맵도 함께 제공합니다.","category":"운영 ERP · SaaS","platform":"Web","status":"운영 중","publicRelease":"website","year":"2026","updatedOn":null,"url":"https://builder.toris.kr","tech":["Next.js","TypeScript","Cloudflare Workers","Expo"],"features":[{"title":"돈과 약속의 운영 원장","description":"매출, 지출, 반복 비용과 미수금을 연결해 다음 행동을 정리합니다."},{"title":"고객 신호와 우선순위","description":"고객의 요청과 약속을 오늘 처리할 우선순위로 이어갑니다."},{"title":"현금 흐름과 주간 마감","description":"런웨이와 주간 요약을 보며 운영 상태와 다음 결정을 확인합니다."}]},{"slug":"clublog","name":"클럽로그","nameEn":"ClubLog","tagline":"경기 일정부터 기록과 팀 소식까지, 우리 동호회 한곳에","taglineEn":"Your club’s schedules, match records, and team community in one place","description":"배구·축구·풋살·농구·야구·테니스·배드민턴 동호회를 위한 팀 앱. 일정과 출석, 경기 기록, 팀 커뮤니티를 함께 관리하고 웹에서도 같은 계정으로 이어갑니다.","category":"스포츠 · 팀 커뮤니티","platform":"Web · Android","status":"운영 중","publicRelease":"google-play","year":"2026","updatedOn":"2026-09-04","url":"https://play.google.com/store/apps/details?id=com.toris.clublog","tech":["Expo","React Native","TypeScript"],"features":[{"title":"우리 팀 일정과 출석","description":"팀 일정을 공유하고 경기 참여 여부를 확인합니다."},{"title":"종목별 경기 기록","description":"현장에서 경기를 기록하고 결과를 다시 살펴봅니다."},{"title":"팀 커뮤니티","description":"팀 소식과 대화, 친선 경기 준비를 한곳에서 이어갑니다."}]},{"slug":"tiny-queue","name":"Tiny Queue: 작은 가게","nameEn":"Tiny Queue","tagline":"한 손으로 손님을 맞고, 작은 가게를 키우세요","taglineEn":"Serve the queue with one hand and grow your little shop","description":"줄 선 손님의 인내심이 다하기 전에 탭으로 서비스를 제공하는 캐주얼 운영 게임. 수입과 별로 대기 공간과 가게 테마를 확장하고 일일 도전에 참여합니다.","category":"게임 · 가게 운영","platform":"Android","status":"운영 중","publicRelease":"google-play","year":"2026","updatedOn":"2026-08-22","url":"https://play.google.com/store/apps/details?id=com.toris.tiny_queue","tech":["Flutter","Dart"],"features":[{"title":"한 손 탭 플레이","description":"기다리는 손님을 빠르게 맞이하고 서비스를 제공합니다."},{"title":"가게 업그레이드","description":"수입과 별로 대기 공간과 가게 테마를 키웁니다."},{"title":"일일 도전","description":"매일 주어지는 목표로 작은 성취를 쌓습니다."}]},{"slug":"water-garden","name":"물길 정원","nameEn":"Water Garden","tagline":"파이프를 돌려, 모든 꽃에 물길을 이어주세요","taglineEn":"Rotate the pipes and bring water to every flower","description":"파이프를 90도씩 돌려 샘에서 모든 꽃까지 새지 않는 물길을 만드는 퍼즐. 3개 챕터 60개 스테이지와 일일·무한 모드를 로그인 없이 오프라인으로 즐깁니다.","category":"게임 · 논리 퍼즐","platform":"Android","status":"운영 중","publicRelease":"google-play","year":"2026","updatedOn":"2026-08-28","url":"https://play.google.com/store/apps/details?id=com.toris.watergarden","tech":["Flutter","Dart","Riverpod"],"features":[{"title":"이어지는 물길","description":"파이프를 회전해 샘과 모든 꽃을 연결합니다."},{"title":"60개 스테이지","description":"캠페인과 일일 퍼즐, 무한 모드로 정원을 가꿉니다."},{"title":"오프라인 퍼즐","description":"실행 취소와 힌트를 활용하고 기록을 기기에 저장합니다."}]},{"slug":"wakeproof","name":"WakeProof","nameEn":"WakeProof","tagline":"작은 미션을 마치고, 오늘을 시작하는 알람","taglineEn":"Complete a small mission to dismiss your alarm and start the day","description":"수학·흔들기·QR 등 선택한 미션을 수행해 해제하는 Android 알람. 반복 일정, 다시 울림과 알람 기록을 제공하며 계정 없이 기기 안에서 동작합니다.","category":"생활 도구 · 알람","platform":"Android","status":"운영 중","publicRelease":"google-play","year":"2026","updatedOn":"2026-09-02","url":"https://play.google.com/store/apps/details?id=com.wakemission.wakeproof","tech":["Flutter","Dart","Android"],"features":[{"title":"미션으로 알람 해제","description":"수학, 흔들기와 QR 등 원하는 미션을 선택합니다."},{"title":"반복 일정과 기록","description":"요일별 반복 알람과 다시 울림, 지난 기록을 관리합니다."},{"title":"기기 안에서 사용","description":"로그인이나 클라우드 없이 오프라인으로 동작합니다."}]},{"slug":"fate-card","name":"운명의 카드","nameEn":"Fate Card","tagline":"미래를 맞히는 카드보다, 오늘을 선택하는 카드","taglineEn":"Cards for choosing today, not predicting tomorrow","description":"질문을 정리하고 카드를 고르면 지금의 흐름과 오늘 할 수 있는 작은 행동을 제안하는 한국어 자기성찰 카드 리딩 서비스. 회원가입·서버 없이 브라우저에서 동작하는 무료 웹앱입니다.","category":"자기성찰 · 카드 리딩","platform":"Web","status":"운영 중","publicRelease":"website","year":"2026","updatedOn":null,"url":"https://fate.toris.kr","tech":["Astro","React","TypeScript","Cloudflare Workers"],"features":[{"title":"오늘의 한 장 · 세 장","description":"질문을 정리하고 카드를 골라 지금의 흐름과 오늘의 작은 행동을 제안받습니다."},{"title":"완전 로컬 · 무료","description":"서버 없이 브라우저(localStorage)에서만 동작. 어떤 데이터도 외부로 보내지 않는 무료 서비스."},{"title":"단정하지 않는 해석","description":"검수된 템플릿으로 예언 대신 자기성찰을 돕고, 민감한 질문은 현실의 도움을 먼저 안내합니다."}]},{"slug":"novelstep","name":"소설의 물결","nameEn":"Story Current","tagline":"당신의 밤을 다음 문장으로 — 100편의 AI 웹소설","taglineEn":"Your night, carried into the next sentence — 100 AI web novels","description":"장르와 문장으로 100편의 한국어 AI 웹소설을 발견하고 첫 화부터 바로 읽는 온라인 서재. 읽던 위치는 브라우저에 저장되고, 좋아요와 최신 회차를 통해 작품을 이어서 만날 수 있습니다.","category":"AI 웹소설 · 독서","platform":"Web","status":"운영 중","publicRelease":"website","year":"2026","updatedOn":null,"url":"https://novel.toris.kr","tech":["Astro","React","Hono","Cloudflare D1"],"features":[{"title":"한국어 웹소설 100편","description":"판타지·로맨스·미스터리 등 장르와 분위기로 작품을 찾고 첫 화를 바로 읽습니다."},{"title":"브라우저 안의 읽기 기록","description":"최근 읽은 작품과 회차, 진행 위치를 계정 없이 현재 브라우저에 조용히 저장합니다."},{"title":"좋아요와 연재 회차","description":"마음에 든 최신 회차에 좋아요를 남기고 작품별로 이어지는 다음 이야기를 만납니다."}]},{"slug":"onvoice","name":"OnVoice","nameEn":"OnVoice","tagline":"말하고 싶은 사람과 들어주는 사람을, 익명 음성으로","taglineEn":"Anonymous voice conversations for people who want to speak or listen","description":"주제와 언어에 맞춰 Speaker와 Listener를 익명 1:1로 매칭해 실시간 통화로 연결하는 음성 대화 서비스. WebRTC 음성은 TURN relay-only로 중계해 이용자 IP 노출을 줄이며 영어·한국어·일본어·중국어를 지원합니다.","category":"익명 대화 · 실시간 음성","platform":"Web","status":"운영 중","publicRelease":"website","year":"2026","updatedOn":null,"url":"https://onvoice-web.ironjustlikethat.workers.dev","tech":["Next.js 15","Cloudflare Workers","Durable Objects","WebRTC"],"features":[{"title":"주제·언어 기반 1:1 매칭","description":"말하고 싶은 사람과 들어주는 사람을 역할, 주제와 언어에 맞춰 연결합니다."},{"title":"Relay-only 실시간 음성","description":"WebSocket 시그널링과 Cloudflare TURN 릴레이로 음성을 연결하고 참여자의 IP 노출을 줄입니다."},{"title":"OTP·신고·제재 안전장치","description":"이메일 OTP와 Turnstile, 신고·제재 흐름으로 익명 대화의 기본 안전장치를 둡니다."},{"title":"4개 언어","description":"영어·한국어·일본어·중국어의 동일한 핵심 여정을 제공합니다."}]},{"slug":"toris-agent","name":"toris-agent","nameEn":"toris-agent","tagline":"한 줄 목표를 계획·실행·검증하고, 증거 영수증까지","taglineEn":"Turn one-line goals into plans, verified runs, and evidence receipts","description":"목표를 작업으로 나누고 전문 에이전트 프로필에 배정해 Claude Code 또는 Codex CLI로 실행한 뒤, 프로젝트의 실제 검사로 결과를 검증하고 JSON·Markdown 영수증을 남기는 로컬 우선 멀티 에이전트 개발 하네스입니다.","category":"Developer Tool · Agent CLI","platform":"CLI · npm (Node.js ≥ 22.6)","status":"운영 중","publicRelease":null,"year":"2026","updatedOn":null,"url":"https://www.npmjs.com/package/toris-agent","tech":["Node.js","Claude Code","Codex CLI","node:test"],"features":[{"title":"목표에서 실행 계획까지","description":"한 문장의 목표를 순서·담당 프로필·검증 조건이 있는 작업으로 분해합니다."},{"title":"11개 전문 에이전트 프로필","description":"계획·구현·테스트·리뷰·검증·릴리스 역할을 작업 성격에 맞게 배정합니다."},{"title":"L1–L5 자율성 제어","description":"쓰기·커밋·푸시 권한을 단계별로 제한하고 경계를 넘는 행동은 승인을 요청합니다."},{"title":"검증 가능한 실행 영수증","description":"프로젝트의 lint·test·build 종료 코드와 작업 결과를 JSON·Markdown 기록으로 남깁니다."}]},{"slug":"roomdoku","name":"Roomdoku","nameEn":"Roomdoku","tagline":"6×6 스도쿠 한 판, 나만의 방에 포근함 한 스푼","taglineEn":"Solve a 6×6 Sudoku and make a cozy room of your own","description":"6×6 스도쿠 30개를 풀어 별과 앨범 조각을 모으고, 가구를 골라 나만의 방을 꾸미는 힐링 퍼즐 게임. 로그인과 에너지 대기 없이 오프라인에서 즐기고 진행 상황을 기기에 저장합니다.","category":"게임 · 힐링 퍼즐","platform":"Android","status":"운영 중","publicRelease":"google-play","year":"2026","updatedOn":"2026-08-04","url":"https://play.google.com/store/apps/details?id=com.toris.Roomdoku","tech":["Expo","React Native","TypeScript","Expo SQLite","Zustand"],"features":[{"title":"6×6 스도쿠","description":"짧게 즐길 수 있는 30개 스테이지를 내 속도로 풉니다."},{"title":"별과 추억 앨범","description":"스테이지 최초 완료 보상으로 별과 6조각 앨범을 모읍니다."},{"title":"나만의 방 꾸미기","description":"별로 가구 자리를 열고 원하는 디자인으로 바꿉니다."}]},{"slug":"wax-balls","name":"왁뿌볼","nameEn":"Wax Balls","tagline":"누르고 문지르고 깨는, 손끝의 왁스볼 ASMR","taglineEn":"Press, rub, and crack through tactile layers of wax ASMR","description":"왁스볼을 누르고 문질러 껍질을 깨는 촉감 ASMR 게임. 표면이 갈라질 때의 소리와 진동, 다양한 스킨을 즐기며 실패나 시간 압박 없이 손끝 감각에 집중합니다.","category":"게임 · 촉감 ASMR","platform":"Android","status":"운영 중","publicRelease":"google-play","year":"2026","updatedOn":"2026-09-01","url":"https://play.google.com/store/apps/details?id=com.toris.waxBalls","tech":["Flutter","Flame","Dart","GLSL Shader","Drift"],"features":[{"title":"손끝으로 깨는 왁스","description":"탭과 문지르기로 왁스 표면에 균열을 만들고 껍질을 벗깁니다."},{"title":"소리와 진동","description":"균열과 파손에 맞춘 사운드와 햅틱을 즐깁니다."},{"title":"내 속도로 쉬어가기","description":"시간 압박이나 실패 없이 다양한 스킨과 촉감을 경험합니다."}]},{"slug":"agentspend","name":"AgentSpend","nameEn":"AgentSpend","tagline":"에이전트의 유료 API 호출을 정책과 예산 안에서","taglineEn":"Keep agent-paid API calls inside explicit policy and budget boundaries","description":"유료 API 호출을 가격이 포함된 실행 계획으로 만들고 결정론적 지출 정책으로 허용·검토·거절한 뒤, 승인된 HTTP 402 흐름과 결과를 하나의 감사 기록으로 연결하는 Agentic FinOps 해커톤 MVP입니다. 현재 UI와 결제는 데모·샌드박스 단계이며 Mainnet 결제는 fail-closed입니다.","category":"Agentic FinOps · 결제 제어","platform":"Web · Cloud","status":"개발 중","publicRelease":null,"year":"2026","updatedOn":null,"url":"https://github.com/torisKR","tech":["Next.js 16","TypeScript","Firestore","Solana USDC","Cloud Run"],"features":[{"title":"가격이 포함된 실행 계획","description":"공급자·엔드포인트·요청 해시와 최대 비용을 고정한 계획으로 구매 의도를 기록합니다."},{"title":"결정론적 지출 정책","description":"모델이 아닌 TypeScript 규칙이 허용목록, 호출·일·월 예산과 재시도를 검사합니다."},{"title":"분리된 결제 실행 경계","description":"서명 권한을 private executor에 격리하고 실제 402 조건이 계획과 다르면 실패하도록 설계했습니다."},{"title":"결과·비용·감사 추적","description":"계획, 정책 결정, 모의 비용과 영수증을 한 타임라인에서 연결합니다."}]},{"slug":"tokenfront-ai-arena","name":"Tokenfront: 궤도 신호전","nameEn":"Tokenfront: Orbital Signal War","tagline":"4,000개 유닛의 전쟁에서 하나의 신호를 지휘하세요","taglineEn":"Command one signal across a 4,000-unit war","description":"4,000개 유닛이 맞붙는 오프라인 전쟁 시뮬레이션. 1,000개 유닛을 지휘하며 약 3분 길이의 스토리 임무 5개를 진행하고, 조종 유닛이 쓰러지면 다음 유닛으로 지휘권을 이어갑니다.","category":"게임 · 전쟁 시뮬레이션","platform":"Android","status":"운영 중","publicRelease":"google-play","year":"2026","updatedOn":"2026-09-02","url":"https://play.google.com/store/apps/details?id=com.toris.tokenfront.tokenfront","tech":["Flutter","Flame","Dart","Blender"],"features":[{"title":"4,000개 유닛 전투","description":"대규모 전장에서 한 진영의 1,000개 유닛을 지휘합니다."},{"title":"끊기지 않는 지휘","description":"현재 유닛이 쓰러져도 다음 유닛으로 지휘권을 이어갑니다."},{"title":"짧은 스토리 임무","description":"약 3분 길이의 임무 5개를 오프라인으로 즐깁니다."}]},{"slug":"knotice","name":"K-Notice","nameEn":"K-Notice","tagline":"한국어 생활 공지를 번역보다 분명한 행동 계획으로","taglineEn":"Turn Korean life notices into clear, evidence-based action plans","description":"학교·아파트·병원·공공기관의 한국어 공지를 외국인 거주자가 이해할 수 있는 행동 계획으로 바꿉니다. 해야 할 일, 기한, 비용, 준비물과 근거가 된 원문 문장을 함께 보여줍니다.","category":"생활 공지 · AI 도우미","platform":"Web","status":"운영 중","publicRelease":"website","year":"2026","updatedOn":null,"url":"https://knotice.pages.dev","tech":["Astro","Flutter","Workers AI","Codex"],"features":[{"title":"사진·텍스트 공지 분석","description":"공지 사진은 기기에서 글자로 읽고, 인식된 텍스트를 사용자의 언어로 정리합니다."},{"title":"기한·비용·준비물 계획","description":"직역문 대신 무엇을 언제까지 해야 하는지 확인 가능한 체크리스트를 만듭니다."},{"title":"원문 근거 검증","description":"모든 행동 항목에 실제 한국어 원문 문장을 붙이고 찾을 수 없는 주장은 제거합니다."}]},{"slug":"senior-club","name":"시니어클럽","nameEn":"Senior Club","tagline":"같은 관심사로 만나 활동하고, 다음 약속까지","taglineEn":"Meet through shared interests, act together, and make the next plan","description":"시니어가 지역과 관심사에 맞는 취미 모임을 찾고, 함께 활동하며 소식을 나누는 커뮤니티. 모임 탐색과 참여, 게시글과 대화를 웹과 Android 앱으로 이어갑니다.","category":"시니어 커뮤니티","platform":"Web · Android","status":"운영 중","publicRelease":"google-play","year":"2026","updatedOn":"2026-08-09","url":"https://play.google.com/store/apps/details?id=com.toris.seniorclub","tech":["Next.js","Expo","React Native","TypeScript"],"features":[{"title":"취미 모임 찾기","description":"관심사와 지역에 맞는 모임을 둘러보고 참여합니다."},{"title":"모임 소식과 대화","description":"게시글과 대화로 활동 소식과 다음 약속을 나눕니다."},{"title":"웹과 Android","description":"웹사이트와 Google Play에 공개된 앱에서 모임을 확인합니다."}]},{"slug":"hanbutgil-garden","name":"한붓길 정원","nameEn":"One-Stroke Garden","tagline":"한 번의 선으로, 고요한 정원을 완성하세요","taglineEn":"Complete a quiet garden with one continuous path","description":"정원의 모든 길을 한 번씩 이어 완성하는 오프라인 한붓그리기 퍼즐. 일일 퍼즐과 무한 모드, 난이도별 도전을 즐기고 진행 상황과 기록을 기기에 저장합니다.","category":"게임 · 논리 퍼즐","platform":"Android","status":"운영 중","publicRelease":"google-play","year":"2026","updatedOn":"2026-07-24","url":"https://play.google.com/store/apps/details?id=com.toris.hanbutgil_garden","tech":["Flutter","Dart"],"features":[{"title":"한 번에 잇는 정원 길","description":"모든 길을 한 번씩 지나 출발점과 도착점을 연결합니다."},{"title":"매일 새로운 도전","description":"일일 퍼즐과 무한 모드, 다섯 단계 난이도를 제공합니다."},{"title":"오프라인 진행 기록","description":"로그인 없이 퍼즐 진행 상황과 통계를 기기에 저장합니다."}]},{"slug":"memecatch","name":"밈캐치","nameEn":"MemeCatch","tagline":"그 밈, 지금 써도 될지까지 3초 안에","taglineEn":"Understand that Korean meme and when to use it, in 3 seconds","description":"한국 밈의 뜻과 유래, 사용 맥락과 주의할 점을 함께 확인하는 밈 사전. 지금 써도 괜찮은 표현인지 살펴보고, 상황에 맞는 예문을 찾아 복사할 수 있습니다.","category":"트렌드 사전 · 커뮤니티","platform":"Web · PWA","status":"운영 중","publicRelease":"website","year":"2026","updatedOn":null,"url":"https://catchmeme.com","tech":["Next.js 16","React 19","TypeScript","Tailwind CSS v4","Supabase","Serwist PWA"],"features":[{"title":"사용 안전 신호등","description":"\"지금 써도 되는가\"를 색+아이콘+텍스트로. 써도 됨/맥락 주의/이미 늦음/쓰면 위험, 직장·친구·자녀·SNS 상황별 가이드까지."},{"title":"밈 생명 게이지","description":"급상승 → 유행 → 식는 중 → 추억. 밈의 생애주기를 불꽃 미터로 시각화하고 트렌드 점수를 pg_cron 일배치로 갱신."},{"title":"초성·유사어 검색","description":"Postgres pg_trgm + 초성 generated column으로 한국어 검색 구현. \"ㅇㅍㅌ\"만 쳐도 영포티가 나온다."},{"title":"제보·검수 커뮤니티","description":"실시간 중복 검사로 새 밈 제보, RLS 기본 deny + security definer RPC로 안전한 반응·댓글·신고."}]},{"slug":"coursepick","name":"코스픽","nameEn":"CoursePick","tagline":"오늘 걷기 좋은 길을 골라드립니다","taglineEn":"오늘 걷기 좋은 길을 골라드립니다","description":"내 상황(누구와, 목적, 시간, 조건)에 맞는 산책·러닝·등산 코스를 추천하는 한국형 코스 큐레이션 앱. 지도가 아니라 \"실패 없는 코스 선택\"이 핵심 — 강아지 데려가도 되는지, 유모차가 되는지, 밤에 안전한지에 답합니다.","category":"아웃도어 · 큐레이션","platform":"Mobile (Android 우선)","status":"개발 중","publicRelease":null,"year":"2026","updatedOn":null,"url":"https://github.com/torisKR","tech":["Flutter","Dart","Kakao Map","Supabase","AdMob"],"features":[{"title":"상황별 코스 추천","description":"\"오늘 어디 걷지?\" 상황 버튼 6개 — 누구와, 무슨 목적으로, 얼마나 걸을지로 코스를 좁혀준다."},{"title":"실패 방지 정보 중심","description":"반려견 동반, 유모차 통행, 야간 안전, 화장실 위치 — 걷기 전에 알아야 할 조건을 상세 화면 최상단에."},{"title":"카카오맵 폴리라인","description":"코스 경로를 지도 위 폴리라인으로 시각화하고 저장."}]},{"slug":"hwanseung-jiok","name":"환승지옥","nameEn":"Transfer Hell","tagline":"막차는 기다려주지 않는다 — 지하철 환승 무한 생존","taglineEn":"막차는 기다려주지 않는다 — 지하철 환승 무한 생존","description":"복잡한 환승 통로에서 인파·캐리어·역주행 에스컬레이터를 피하고, 닫히는 열차 문의 초록 통과 칸을 노려 최대한 오래 버티는 5레인 원터치 스와이프 게임. 구 「골목길 생존기」에서 피벗했습니다. Flutter + Flame 엔진, 로컬 저장(계정·서버 없음), 수집형 캐릭터 8종.","category":"게임 · 하이퍼캐주얼","platform":"Android","status":"운영 중","publicRelease":"google-play","year":"2026","updatedOn":"2026-08-08","url":"https://play.google.com/store/apps/details?id=com.toris.hwanseung_jiok","tech":["Flutter","Flame","Dart","AdMob"],"features":[{"title":"닫히는 문 스와이프","description":"3비트 점멸 예고 후 하강하는 열차 문의 열린 한 칸으로만 통과. 드래그 24px 즉발 스와이프로 연속 이동."},{"title":"5레인 지하철 생존","description":"인파·캐리어·역주행 에스컬레이터를 피하며 점수 = 생존 초. 셀 충돌로 고속에서도 터널링 없음."},{"title":"수집형 캐릭터 8종","description":"능력치 차이 없는 순수 수집 요소. 로컬 저장만 사용해 계정·서버·랭킹 없이 가볍게 즐깁니다."}]},{"slug":"asyncraft","name":"asyncraft","nameEn":"asyncraft","tagline":"실패하는 비동기 흐름을 견고하게 만드는 제로 의존성 툴킷","taglineEn":"A zero-dependency toolkit that makes failing async flows robust","description":"retry, timeout, circuit breaker, 동시성 제한, async map, single-flight memoize를 하나의 작고 조합 가능한 패키지로 제공하는 TypeScript 라이브러리. 모든 대기가 AbortSignal을 지원하며 ESM·CJS와 완전한 타입 추론을 함께 제공합니다.","category":"Developer Tool · npm","platform":"Library (Node.js ≥ 18)","status":"운영 중","publicRelease":null,"year":"2026","updatedOn":null,"url":"https://github.com/torisKR/asyncraft","tech":["TypeScript","Node.js","Vitest","tsup","fast-check"],"features":[{"title":"10개의 비동기 프리미티브","description":"retry·timeout·circuit breaker·concurrency limit부터 memoize·debounce까지 한 패키지에서 조합."},{"title":"AbortSignal everywhere","description":"대기, 재시도, 큐에 들어간 작업까지 취소 가능. 타이머와 이벤트 리스너 누수를 테스트로 방지."},{"title":"Zero dependency · Tree-shakeable","description":"런타임 의존성 없이 필요한 함수만 번들에 포함. ESM·CJS·타입 선언을 동시에 배포."},{"title":"AI-friendly API","description":"전체 TSDoc과 llms.txt로 개발자와 코딩 에이전트가 올바른 프리미티브를 빠르게 선택."}]},{"slug":"torisui-kit","name":"TorisUI Kit","nameEn":"TorisUI Kit","tagline":"Fluid, accessible, dark-first — 제품을 빠르게 만드는 React UI 시스템","taglineEn":"Fluid, accessible, dark-first — a React UI system for shipping fast","description":"@toris-dev/ui로 배포되는 모던 React 컴포넌트 라이브러리. Soft-glass 비주얼, 유연한 디자인 토큰, 키보드 접근성, reduced-motion 대응과 30개 이상의 프로덕션 컴포넌트를 모노레포·문서 플레이그라운드·자동 릴리스 파이프라인으로 관리합니다.","category":"Design System · npm","platform":"React Library · Web","status":"운영 중","publicRelease":null,"year":"2026","updatedOn":null,"url":"https://github.com/toris-dev/torisui-kit","tech":["React","TypeScript","CSS","Vitest","pnpm"],"features":[{"title":"30+ 프로덕션 컴포넌트","description":"Button·Dialog·Tabs·Toast·Data display까지 실제 제품에 필요한 인터랙션을 일관된 API로 제공."},{"title":"접근성 기본값","description":"WAI-ARIA 패턴, roving focus, focus trap, 키보드·터치 조작과 reduced-motion을 기본 지원."},{"title":"Fluid soft-glass motion","description":"다크 퍼스트 글래스 표면과 토큰 기반 테마, 부담 없이 반응하는 마이크로 인터랙션."},{"title":"검증된 릴리스 하네스","description":"lint·typecheck·test·build 품질 게이트와 Changesets·Trusted Publishing으로 안전하게 배포."}]},{"slug":"cryptotrade-gg","name":"CryptoTrade.gg","nameEn":"CryptoTrade.gg","tagline":"암호화폐 트레이드 전적을 데이터로 증명","taglineEn":"암호화폐 트레이드 전적을 데이터로 증명","description":"거래소 트레이드 기록을 불러와 승률·손익(PnL)·자산 배분을 시각화하는 크립토 트레이딩 대시보드. 트레이더의 전적을 한 페이지에 정리해 데이터로 실력을 보여주는 op.gg 스타일 서비스입니다.","category":"Web3 · 데이터 대시보드","platform":"Web","status":"개발 중","publicRelease":null,"year":"2025","updatedOn":null,"url":"https://github.com/torisKR","tech":["Next.js","TypeScript","Tailwind CSS","Recharts","Web3"],"features":[{"title":"PnL 성과 차트","description":"기간별 손익 곡선을 인터랙티브 라인 차트로 시각화."},{"title":"승률 · ROI 카드","description":"승률·총 수익률·거래 횟수 등 핵심 지표를 카운트업으로 강조."},{"title":"자산 배분 테이블","description":"보유 토큰별 비중과 성과를 테이블로 한눈에."},{"title":"데이터 중심 대시보드","description":"트레이딩 터미널처럼 날카로운 다크 UI와 데이터 밀도."}]},{"slug":"love-trip","name":"LOVETRIP","nameEn":"LOVETRIP","tagline":"서로의 취향을 고르고, 둘만의 여행을 한 코스로","taglineEn":"Bring your shared tastes together into one travel plan","description":"데이트와 여행 코스를 함께 탐색하고, 마음에 드는 장소를 연결해 일정을 만드는 여행 웹사이트. 서로의 취향을 모아 다음 여행을 계획합니다.","category":"여행 플랫폼","platform":"Web","status":"운영 중","publicRelease":"website","year":"2026","updatedOn":null,"url":"https://love2trip.vercel.app","tech":["Next.js 16","React 19","TypeScript","Supabase","Naver Maps","Tour API"],"features":[{"title":"여행 코스 탐색","description":"데이트와 여행에 어울리는 코스를 둘러봅니다."},{"title":"취향과 장소 연결","description":"마음에 드는 장소를 골라 함께할 하루를 구성합니다."},{"title":"함께 고르는 여행","description":"서로의 취향을 하나의 여행 계획으로 모읍니다."}]},{"slug":"tracedesk","name":"TraceDesk","nameEn":"TraceDesk","tagline":"AI 도구 사용량·비용과 내 활동 기록을 한곳에서","taglineEn":"AI usage, costs, and your activity in one place · sales ended","description":"여러 AI 제공자의 토큰 사용량과 비용, 로컬 활동 기록을 함께 보는 데스크톱 생산성 도구. 제공자별 공식 API와 계정 권한에 따라 조회 범위가 달라집니다. 현재 공개 상품 페이지의 판매는 종료된 상태입니다.","category":"생산성 도구","platform":"Desktop (macOS · Windows · Linux)","status":"출시","publicRelease":null,"year":"2026","updatedOn":null,"url":"https://www.groble.im/products/q8ZSPZ","tech":["Tauri","Rust","React","TypeScript","SQLite"],"features":[{"title":"AI 사용량과 비용","description":"제공자별 토큰 사용량과 비용을 한 화면에서 비교합니다."},{"title":"로컬 활동 기록","description":"기기에서의 활동과 AI 도구 사용 흐름을 함께 살펴봅니다."},{"title":"기기 중심 데이터 관리","description":"사용량 연결 설정과 기록을 개인 기기를 중심으로 관리합니다."}]},{"slug":"devpulse","name":"devPulse","nameEn":"devPulse","tagline":"로컬 LLM이 만드는 개발 뉴스 카드뉴스 & 비디오","taglineEn":"Dev-news card news & videos generated by a local LLM","description":"개발 뉴스를 크롤링하고 로컬 LLM으로 요약해 카드뉴스와 비디오까지 자동 생성하는 콘텐츠 파이프라인. API 비용 없이 로컬 모델만으로 수집 → 요약 → 디자인 → 렌더링을 완전 자동화합니다.","category":"AI 파이프라인","platform":"CLI · Automation","status":"운영 중","publicRelease":null,"year":"2026","updatedOn":null,"url":"https://github.com/toris-dev/devPulse","tech":["Python","Local LLM","Ollama","FFmpeg","Web Crawling"],"features":[{"title":"개발 뉴스 크롤링","description":"주요 개발 뉴스 소스를 주기적으로 수집하는 크롤러 파이프라인."},{"title":"로컬 LLM 요약","description":"API 비용 없이 로컬 LLM으로 뉴스 요약 및 핵심 인사이트 추출. 프라이버시와 비용을 동시에."},{"title":"카드뉴스 자동 생성","description":"요약된 콘텐츠를 시각적 카드뉴스 이미지로 자동 디자인."},{"title":"비디오 렌더링","description":"카드뉴스를 이어붙여 숏폼 비디오까지 생성하는 엔드투엔드 파이프라인."}]},{"slug":"loca","name":"로카역","nameEn":"Loca Station","tagline":"지하철역 500m, 익명 실시간 대화","taglineEn":"Anonymous conversations within 500 meters of your subway station","description":"지하철역 반경 500m 안의 사람들과 익명으로 실시간 대화하는 위치 기반 채팅 앱. 매일 스쳐 지나가는 사람들과 지금 이 순간, 같은 공간의 이야기를 나눕니다.","category":"위치기반 소셜","platform":"Android","status":"운영 중","publicRelease":"google-play","year":"2026","updatedOn":"2026-09-05","url":"https://play.google.com/store/apps/details?id=com.toris.loca","tech":["Flutter","Dart","Geolocation","Realtime Chat"],"features":[{"title":"역 근처 500m 대화","description":"지하철역 반경 500m 안에서 같은 역 근처 사람들과 연결합니다."},{"title":"익명 실시간 채팅","description":"사진과 영상, 선택적인 개인 대화로 이야기를 나눕니다."},{"title":"지도에서 역 찾기","description":"현재 위치를 바탕으로 주변 역과 대화 공간을 확인합니다."}]},{"slug":"pepebear","name":"PEPEBear","nameEn":"PEPEBear","tagline":"HODL, laugh, moon — 게임화된 Solana 밈코인 경험","taglineEn":"HODL, laugh, moon — 게임화된 Solana 밈코인 경험","description":"Solana 블록체인 위에 구축된 커뮤니티 드리븐 밈코인 프론트엔드. 지갑 연동, 포인트·업적·레벨 게임화, 실시간 홀더 트래킹, Launch → Growth → Moon 페이즈 타임라인을 부드러운 애니메이션으로 담았습니다.","category":"Web3 · 크립토","platform":"Web","status":"출시","publicRelease":null,"year":"2025","updatedOn":null,"url":"https://github.com/toris-dev/PEPEBear","tech":["Next.js","React","Solana","Anchor","Web3.js","TypeScript"],"features":[{"title":"Solana 지갑 연동","description":"Phantom, Solflare 등 주요 지갑을 원클릭으로 연결."},{"title":"게임화 경험","description":"참여로 포인트를 얻고 업적을 해금하고 레벨업하는 홀더 경험."},{"title":"실시간 홀더 트래킹","description":"토큰 홀더, 볼륨, 참여 지표를 라이브로. 순위 변동 애니메이션으로 생동감 있게."},{"title":"페이즈 타임라인","description":"Launch → Growth → Moon, 단계 기반 성장 로드맵 시각화."}]},{"slug":"yeti","name":"YETI","nameEn":"YETI","tagline":"전설의 2004 플래시 게임, Solana로 돌아오다","taglineEn":"전설의 2004 플래시 게임, Solana로 돌아오다","description":"펭귄을 날려버리던 그 예티가 밈코인으로 부활. Pump.fun에서 런칭한 Solana 밈코인 YETI의 공식 웹사이트. 추억을 가진 밀레니얼을 위한 노스탤지어 프로젝트, PENGUIN GO FLY.","category":"Web3 · 크립토","platform":"Web","status":"출시","publicRelease":null,"year":"2025","updatedOn":null,"url":"https://github.com/toris-dev/YETI_SITE","tech":["Next.js","TypeScript","Solana","Pump.fun"],"features":[{"title":"토큰 런칭 사이트","description":"Pump.fun 런칭과 함께한 공식 웹사이트. 홀더 온보딩의 시작점."},{"title":"4단계 로드맵","description":"토큰 런칭 → 커뮤니티 확장 → 거래소 상장 → 생태계 확장(게임 리메이크·NFT)."},{"title":"노스탤지어 브랜딩","description":"2004 플래시 게임 감성을 현대적 웹 경험으로 재해석."}]},{"slug":"21n-apps","name":"21n Apps","nameEn":"21n Apps","tagline":"서명에서 체결까지, 모델과 병원을 잇는 전자계약 운영 흐름","taglineEn":"서명에서 체결까지, 모델과 병원을 잇는 전자계약 운영 흐름","description":"모델과 병원이 역할별 화면에서 계약 초안, 서명, 확인과 체결 상태를 이어가는 전자계약 운영 모노레포입니다.","category":"전자계약 · 운영 플랫폼","platform":"Web · Monorepo","status":"개발 중","publicRelease":null,"year":"2026","updatedOn":null,"url":"https://github.com/torisKR","tech":["Next.js","NestJS","TypeScript","PostgreSQL"],"features":[{"title":"역할별 계약 흐름","description":"모델과 병원이 각자의 단계에서 같은 계약 진행 상태를 확인합니다."},{"title":"계약 상태 타임라인","description":"초안, 서명, 확인과 체결 완료를 순서와 상태로 추적합니다."},{"title":"모노레포 운영 경계","description":"프론트엔드와 API의 책임을 나누면서 하나의 제품 흐름으로 관리합니다."}]},{"slug":"snapmate","name":"SnapMate","nameEn":"SnapMate","tagline":"찍는 순간, 우리만의 갤러리에 쌓이는 사진","taglineEn":"찍는 순간, 우리만의 갤러리에 쌓이는 사진","description":"카메라로 남긴 순간을 친구와 가족의 그룹별 갤러리에 바로 모아 보는 따뜻한 모바일 사진 공유 앱입니다.","category":"사진 · 그룹 공유","platform":"Android","status":"운영 중","publicRelease":"google-play","year":"2026","updatedOn":"2026-08-11","url":"https://play.google.com/store/apps/details?id=com.toris.snapmate","tech":["Expo","React Native","TypeScript","Firebase"],"features":[{"title":"카메라에서 바로 공유","description":"앱 안에서 촬영한 사진을 선택한 그룹의 흐름으로 바로 연결합니다."},{"title":"그룹별 순간 보관","description":"커플, 가족과 친구의 사진을 그룹 단위 갤러리로 구분해 봅니다."},{"title":"따뜻한 스토어 경험","description":"크림과 피치 톤의 브랜드 자산으로 촬영과 공유의 감정을 일관되게 전합니다."}]},{"slug":"bubble-bible","name":"Bubble Bible","nameEn":"Bubble Bible","tagline":"말씀을 읽고, 기록하고, 함께 나누는 작은 습관","taglineEn":"말씀을 읽고, 기록하고, 함께 나누는 작은 습관","description":"매일 성경을 읽고 묵상을 기록하며 교회와 소그룹에 나누는 흐름을 연결한 모바일 우선 커뮤니티 앱입니다.","category":"성경 · 커뮤니티","platform":"Android","status":"운영 중","publicRelease":"google-play","year":"2026","updatedOn":"2026-07-23","url":"https://play.google.com/store/apps/details?id=com.toris.bubblebible","tech":["Expo","React Native","TypeScript","Supabase"],"features":[{"title":"오늘의 말씀 읽기","description":"오늘 읽을 말씀과 읽기 흐름을 모바일 화면에서 차분하게 이어갑니다."},{"title":"묵상과 연속 기록","description":"읽기 완료와 개인 묵상을 기록해 매일의 습관을 확인합니다."},{"title":"교회·소그룹 나눔","description":"개인의 읽기 경험을 교회와 소그룹의 나눔으로 연결합니다."}]},{"slug":"dongne-paint","name":"동네페인트","nameEn":"Paint the Block","tagline":"선을 닫는 순간, 골목이 내 색으로 바뀐다","taglineEn":"Close a loop and paint the neighborhood in your color","description":"골목 타일 위에 경로를 그리고 출발 영역으로 돌아와 내부를 점령하며 AI 봇과 경쟁하는 모바일 캐주얼 게임입니다.","category":"게임 · 영역 점령","platform":"Android","status":"운영 중","publicRelease":"google-play","year":"2026","updatedOn":"2026-07-23","url":"https://play.google.com/store/apps/details?id=com.toris.dongne_paint","tech":["Flutter","Flame","Dart","Local Save"],"features":[{"title":"닫힌 경로로 점령","description":"드래그한 경로가 출발 영역에 닿으면 닫힌 내부 타일을 내 색으로 바꿉니다."},{"title":"AI 봇 경쟁","description":"서버 멀티플레이가 아닌 AI 봇과 같은 보드의 영역을 두고 경쟁합니다."},{"title":"로컬 진행 저장","description":"게임 진행 상태를 기기에 보관해 다음 플레이에 이어갑니다."}]},{"slug":"youth-money-guide","name":"청년머니가이드","nameEn":"YM Money Guide","tagline":"흩어진 청년 정책을 조건과 공식 출처로 확인하세요","taglineEn":"Youth policy & finance benefits that match you, in one place","description":"청년 정책과 생활 금융 정보를 조건으로 좁히고 공식 출처와 검토 기준을 함께 확인하는 콘텐츠 서비스입니다.","category":"정책 · 생활 금융","platform":"Web","status":"운영 중","publicRelease":"website","year":"2026","updatedOn":null,"url":"https://ym-guide.vercel.app","tech":["Next.js","TypeScript","Content Curation"],"features":[{"title":"조건별 정책 탐색","description":"나이, 지역과 관심사를 기준으로 필요한 정책 정보를 좁혀 봅니다."},{"title":"공식 출처와 검토일","description":"정보의 원문 출처와 검토 기준을 함께 표시해 재확인 경로를 제공합니다."},{"title":"정책·제휴 경계 표시","description":"공식 정책 정보와 제휴 콘텐츠의 성격을 구분해 보여줍니다."}]},{"slug":"starlight-greenhouse","name":"별빛 온실","nameEn":"Starlight Greenhouse","tagline":"별씨앗을 심고, 밤하늘 아래 천천히 키우는 온실","taglineEn":"별씨앗을 심고, 밤하늘 아래 천천히 키우는 온실","description":"별씨앗에서 별가루를 모으고 설비를 열어 생산을 키우며 오프라인 보상으로 돌아오는 모바일 방치형 게임입니다.","category":"게임 · 방치형 성장","platform":"Mobile","status":"개발 중","publicRelease":null,"year":"2026","updatedOn":null,"url":"https://github.com/torisKR","tech":["Flutter","Dart","Local Save"],"features":[{"title":"별씨앗 수확","description":"별씨앗을 돌보며 첫 자원인 별가루를 모읍니다."},{"title":"설비 생산 루프","description":"모은 자원으로 설비를 열어 초당 생산 흐름을 확장합니다."},{"title":"최대 8시간 오프라인 보상","description":"앱을 떠난 시간 중 최대 8시간의 생산분을 돌아왔을 때 정산합니다."}]},{"slug":"volley-king-30","name":"30초 배구왕","nameEn":"30s Volley King","tagline":"리시브부터 스파이크까지, 단 30초의 랠리","taglineEn":"리시브부터 스파이크까지, 단 30초의 랠리","description":"리시브, 토스와 스파이크의 타이밍을 맞춰 30초 동안 콤보를 이어가는 모바일 스포츠 아케이드 게임입니다.","category":"게임 · 스포츠 아케이드","platform":"Mobile","status":"개발 중","publicRelease":null,"year":"2026","updatedOn":null,"url":"https://github.com/torisKR","tech":["Flutter","Flame","Dart","Blender"],"features":[{"title":"30초 랠리","description":"짧은 제한 시간 안에서 타이밍과 콤보에 집중합니다."},{"title":"리시브·토스·스파이크","description":"세 단계의 입력을 순서대로 연결해 한 번의 공격을 완성합니다."},{"title":"콤보와 타이밍 판정","description":"연속으로 맞춘 타이밍을 콤보와 판정 피드백으로 보여줍니다."}]},{"slug":"toris-docs","name":"toris-docs","nameEn":"toris-docs","tagline":"기록이 프로젝트의 다음 행동으로 이어지는 지식 시스템","taglineEn":"A personal knowledge system built on Markdown & Obsidian","description":"프로젝트 문맥, 개발 지식과 산출물을 연결해 기록이 다음 작업으로 이어지도록 구성한 개인 문서 워크플로입니다.","category":"지식 시스템 · 문서","platform":"Markdown · Obsidian","status":"운영 중","publicRelease":null,"year":"2026","updatedOn":null,"url":"https://github.com/torisKR","tech":["Markdown","Obsidian","Agent Workflow"],"features":[{"title":"프로젝트별 지식 연결","description":"프로젝트 단위로 기획, 설계와 개발 문맥을 연결합니다."},{"title":"기록에서 산출물까지","description":"인박스에서 정리한 기록이 위키와 공개 산출물로 이어지는 흐름을 둡니다."},{"title":"에이전트 친화적 구조","description":"사람과 개발 에이전트가 같은 프로젝트 문맥을 찾을 수 있는 폴더 경계를 사용합니다."}]},{"slug":"product-growth-skills","name":"Product Growth Skills","nameEn":"Product Growth Skills","tagline":"제품 성장 목표를 검증 가능한 에이전트 워크플로로","taglineEn":"Open-source agent skills for product growth workflows","description":"SEO, 앱 스토어 등록, 모바일 인터랙션과 Android 성능 작업을 증거 기반으로 실행하고 검증하는 6개 오픈소스 에이전트 스킬 모음입니다.","category":"Agent Skills · 오픈소스","platform":"Codex · Claude","status":"운영 중","publicRelease":null,"year":"2026","updatedOn":null,"url":"https://github.com/toris-dev/product-growth-skills","tech":["Agent Skills","Markdown","Python"],"features":[{"title":"6개 전문 워크플로","description":"SEO, 스토어, Expo·Flutter 인터랙션과 Android 성능 영역을 각각의 스킬로 나눕니다."},{"title":"증거 기반 실행","description":"추측보다 측정과 현재 상태의 증거를 먼저 수집하도록 작업 순서를 안내합니다."},{"title":"내장 검증 스크립트","description":"저장소의 검증 스크립트로 스킬 구조와 필수 파일을 확인합니다."}]},{"slug":"ebook-ai-automation-revenue","name":"AI 자동화 수익 시스템","nameEn":"AI 자동화 수익 시스템","tagline":"Claude와 ChatGPT로 만드는 1인 사업 운영 플레이북","taglineEn":"Claude와 ChatGPT로 만드는 1인 사업 운영 플레이북","description":"아이디어 검증부터 콘텐츠 제작, 판매, 납품, 운영과 회고까지를 하나의 흐름으로 연결한 100페이지 실전 전자책입니다. AI에게 전략·문서·검토 역할을 나누고 사람이 확인할 지점을 설계합니다.","category":"전자책 · AI 자동화","platform":"PDF · Digital","status":"출시","publicRelease":null,"year":"2026","updatedOn":null,"url":"https://www.groble.im/products/RdAzGx","tech":["Claude","ChatGPT","Automation","Solo Business"],"features":[{"title":"100페이지 운영 플레이북","description":"아이디어·콘텐츠·판매·납품·운영을 하나의 1인 사업 사례로 연결합니다."},{"title":"AI 역할 분리","description":"Claude와 ChatGPT를 전략, 긴 문서, 구현과 검토 역할로 나눠 활용합니다."},{"title":"사람의 검토 지점","description":"자동화 범위와 사람이 확인해야 할 판단을 함께 설계합니다."}]},{"slug":"ebook-ai-launch-system","name":"AI 1인 개발팀 출시 시스템","nameEn":"AI 1인 개발팀 출시 시스템","tagline":"앱 6개와 웹 서비스 4개에서 정리한 AI 제품 출시 기준","taglineEn":"앱 6개와 웹 서비스 4개에서 정리한 AI 제품 출시 기준","description":"아이디어 선택과 범위 고정부터 QA, 배포, 유통, 유지와 Go/No-Go 판단까지 실제 출시 경험을 재사용 가능한 36페이지 시스템으로 정리한 한국어 전자책입니다.","category":"전자책 · 제품 출시","platform":"PDF · Digital","status":"출시","publicRelease":null,"year":"2026","updatedOn":null,"url":"https://www.latpeed.com/products/VStKi","tech":["Claude","ChatGPT","QA","Product Launch"],"features":[{"title":"범위 고정","description":"Must, Won’t, Later로 첫 출시에서 만들 것과 미룰 것을 분명히 정합니다."},{"title":"출시 전 검증","description":"웹, PWA와 Expo 제품의 오류·권한·개인정보·배포 누락을 확인합니다."},{"title":"출시 후 관찰","description":"첫 홍보 메시지와 운영 지표, 다음 Go/No-Go 판단을 기록합니다."}]}]}