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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors