Skip to content

AI Features

Softly uses Claude Haiku (Anthropic) for structured task extraction, natural language editing, and proactive suggestions. Voice input is powered by Deepgram for streaming transcription with a native speech fallback.

Task Parsing

The primary AI feature. Users type or speak a sentence like:

"renew my passport next Tuesday, remind me a week before"

Claude Haiku extracts structured fields: title, due date, category, recurrence, and reminder days. The parsed result is shown as a preview card that the user can edit before saving.

The parser receives the user's local date so relative dates ("next week", "in 3 months") resolve correctly regardless of timezone.

TIP

Parsing uses Claude 3.5 Haiku, which costs ~$0.001 per parse. At the expected usage rate, this works out to roughly $0.02 per user per month.

Natural Language Editing

Pro users can edit existing tasks using natural language via the QuickEditBar:

"move dentist to next Friday" "make grocery shopping weekly"

The AI receives the user's current task list and the edit instruction, then returns structured edit operations (which task to modify and what fields to change). This is a single Haiku call that matches the instruction against existing tasks.

Proactive Suggestions

The home screen always shows a SuggestionsCard with task suggestions that recycle as users interact with them.

Starter Suggestions

For users with no task history, the system returns curated starter suggestions from a pool of 16 UK-relevant tasks (no AI call). These help new users understand what Softly is for -- things like "Schedule dentist checkup", "Check boiler service date", "Review energy tariff".

AI-Powered Suggestions

For users with task history, Claude Haiku analyzes their completed tasks and suggests complementary ones. For example, if you have car-related tasks but no MOT reminder, it might suggest one. This costs one AI usage credit.

Recycling

Suggestions persist on the home screen and rotate new ones in:

  • Each suggestion card has a dismiss (X) button to remove individual suggestions
  • When a suggestion is added as a task, it's also recorded as "added"
  • Dismissed and added titles are tracked per user in the DismissedSuggestion model
  • The backend excludes previously seen titles when generating new suggestions
  • When the visible pool runs low, the app auto-refetches fresh suggestions
  • Users can reset all dismissed suggestions from Settings > Reset Suggestions

WARNING

AI suggestions count against the user's monthly AI usage limit. Starter suggestions (the curated list) do not.

Voice Input

Voice input converts speech to text, which is then fed into the task parser. Two backends are supported:

Deepgram (Primary)

  • Streaming transcription via WebSocket
  • The mobile app requests a temporary Deepgram API key from the backend (10-minute TTL)
  • Audio is streamed directly from the device to Deepgram (no backend proxy)
  • Available to Pro and Family users

Native Speech (Fallback)

  • Uses iOS Speech Recognition / Android SpeechRecognizer
  • No network cost, works offline
  • Lower accuracy than Deepgram but good enough for simple task descriptions
  • Available to all users

Usage Limits

TierAI Tasks/MonthVoice
Free5Native speech only
Pro200Deepgram + native
Family200 (shared pool)Deepgram + native

Family tier shares an AI pool across the household. When the pool is depleted, members get a small daily emergency allocation.

Usage resets on the 1st of each month.

Internal documentation — not for public distribution