Skip to content

Web UI ​

GDT includes a beautiful web interface for visual task management. Start the server and access all features through your browser.

GDT Web UI - Chat Interface

Starting the Server ​

bash
# Start Web UI on default port (3000)
getdone serve

# Start and open browser automatically
getdone serve --open

# Use custom port
getdone serve --port 8080

# Allow access from other devices on your network
getdone serve --host

Once started, open http://localhost:3000 in your browser.

Dashboard Overview ​

The Web UI provides a clean, modern interface with these main sections:

SectionDescription
Task ListView, filter, and manage all your tasks
AI ChatConverse with GDT just like the CLI
CalendarWeek and month views of your schedule
SettingsTheme, calendar connections, and preferences

Task Management ​

Task List ​

GDT Web UI - Task List

The task list shows all your pending tasks with:

  • Priority indicators — Color-coded badges (red=high, yellow=medium, green=low)
  • Due dates — Relative dates like "Tomorrow" or "In 3 days"
  • Project tags — Group tasks by project
  • Quick actions — Complete, edit, or delete tasks

Filtering and Sorting ​

Use the toolbar to filter tasks:

Filter by:
├── Priority (High / Medium / Low)
├── Project (+work, +personal, etc.)
├── Due date (Today / This week / Overdue)
└── Status (Pending / Completed)

Sort by:
├── Priority
├── Due date
├── Created date
└── Project

Creating Tasks ​

Click the + New Task button or use the AI chat:

You: Add a task to review the quarterly report by Friday

GDT: Created task: Review the quarterly report
     Due: Friday
     Priority: Medium

AI Chat ​

The chat interface provides the same conversational experience as the CLI:

  • Streaming responses — See AI responses appear in real-time
  • Tool call visualization — Watch as GDT interacts with TaskWarrior
  • Message history — Scroll through your conversation
  • Markdown rendering — Formatted text, code blocks, and lists

Example Conversation ​

You: What should I focus on today?

GDT: Based on your tasks, here's my suggestion:

     🔴 High Priority
     1. Fix login bug — due today

     📋 If time permits
     2. Review PR feedback
     3. Update documentation

     The login bug is urgent. Want me to break it down into steps?

Calendar Views ​

GDT Web UI - Calendar

Week View ​

The week view shows a 7-day grid with:

  • Task cards — Priority-colored with project info
  • Event cards — Time display for scheduled events
  • All-day events — Shown with special badge
  • Navigation — Move between weeks with arrow buttons
       Mon 2/3         Tue 2/4         Wed 2/5
       ─────────────   ─────────────   ─────────────
       ██ Review PR    ░░░░░░░░░░░░░   ██ Team sync
       ██ Fix bug      ██ Design mtg   ░░░░░░░░░░░░░

Month View ​

The month view provides a calendar overview:

  • Task indicators — Dots showing tasks on each day
  • Click to expand — View tasks for any day
  • Today highlight — Current date is emphasized
  • Navigation — Move between months

Settings ​

Theme ​

Choose your preferred appearance:

ThemeDescription
LightClean white background
DarkEasy on the eyes at night
SystemFollows your OS preference

The theme applies immediately and persists across sessions.

Calendar Connections ​

Connect external calendars to see events alongside tasks:

  • Google Calendar — OAuth integration
  • iCloud Calendar — App-specific password
  • System Calendar — Native macOS/Windows access

See Calendar Integration for setup details.

Keyboard Shortcuts ​

ShortcutAction
nNew task
fFocus search/filter
/Open AI chat
?Show keyboard shortcuts
EscClose dialogs

Security ​

The Web UI includes built-in security features:

  • Localhost only — By default, only accessible from your machine
  • Rate limiting — 100 requests/minute to prevent abuse
  • Input validation — All inputs validated with Zod schemas
  • WebSocket limits — Max 50 concurrent connections

To allow LAN access (e.g., from your phone), use --host:

bash
getdone serve --host

WARNING

When using --host, the Web UI is accessible to anyone on your network. Only use this on trusted networks.

Troubleshooting ​

Port Already in Use ​

bash
# Use a different port
getdone serve --port 8080

Can't Connect from Another Device ​

  1. Ensure you started with --host flag
  2. Check your firewall allows the port
  3. Use your computer's IP address (not localhost)
bash
# Find your IP
ifconfig | grep "inet "

# Access from other device
http://192.168.1.100:3000

Slow Response Times ​

  • Check your internet connection (required for AI features)
  • Ensure ANTHROPIC_API_KEY is set correctly
  • Try refreshing the page

Next Steps ​