Skip to content

Peter2594/chat2task

Repository files navigation

chat2task

Turn messy chats into actionable tasks — with AI.

People lose tasks inside chat messages. chat2task reads a messy group thread (LINE / Discord / IG DMs) and turns it into a clean to-do list — with deadlines and owners pulled out automatically.


chat2task — messy chat in, clean tasks out


Live demo · Quick start · How it works


The problem

Important to-dos get buried in chat. "好我等等做" → and it's gone. Nothing gets written down, nothing gets tracked.

What it does

  • Paste a chat → get tasks. No formatting, no rules — just paste the thread.
  • AI extracts deadlines & owners. Relative dates ("明天", "this Friday") are resolved to real dates; the responsible person is pulled out when named.
  • Clean task dashboard. Check tasks off, delete, track what's open.

Demo

Paste a messy thread → click Parse → a clean task list appears.

Stack

Frontend Next.js 14 (App Router), React
AI Claude API — claude-haiku-4-5 + structured outputs (guaranteed-valid JSON)
Storage localStorage (MVP) · Supabase schema included for cloud sync + auth
Deploy Vercel

Quick start

git clone https://github.com/<you>/chat2task
cd chat2task
npm install
cp .env.example .env        # add your ANTHROPIC_API_KEY
npm run dev                 # http://localhost:3000

Runs with a single env var — get a key at console.anthropic.com. Tasks persist in the browser, so there's no database to set up.

How it works

app/page.tsx ──paste──► POST /api/parse ──► lib/ai.ts (Claude · structured JSON)
      │                                              │
   addTasks() ◄──────────── tasks ◄─────────────────┘
      │
 localStorage (lib/store.ts)  ──►  /dashboard  (check off · delete)

The Claude call uses structured outputs, so the model returns JSON that's guaranteed to match the task schema — no fragile string parsing. See lib/ai.ts.

Project structure

app/
  page.tsx            paste + parse
  dashboard/page.tsx  task list — check off, delete
  api/parse/route.ts  validates input, calls Claude
components/
  ChatInput.tsx       textarea + sample + parse button
  TaskList.tsx        checkable task rows
lib/
  ai.ts               Claude call + JSON schema
  store.ts            localStorage persistence (swap for Supabase in v2)
  supabase.ts         optional client for cloud sync
types/task.ts
supabase/schema.sql   v2 tables + row-level security

Deploy

npx vercel            # set ANTHROPIC_API_KEY in the Vercel dashboard

Roadmap

  • LINE bot — read messages directly, no copy-paste
  • Chrome extension — right-click any chat → tasks
  • Notion sync — push tasks to your workspace
  • Deadline nudges — auto-remind before things are due
Built with Next.js and the Claude API.

About

AI tool that turns messy chat conversations into structured tasks and reminders.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors