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
DismissedSuggestionmodel - 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
| Tier | AI Tasks/Month | Voice |
|---|---|---|
| Free | 5 | Native speech only |
| Pro | 200 | Deepgram + native |
| Family | 200 (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.