A single input above the list that parses days, times, !priority and “every …” recurrence live. Anything the parser does not recognise stays in the title untouched. The receipt chips read like sentences: 'Due Thu, Sep 3, 9:00 AM', 'repeats every week', 'high priority', or 'no date — goes on the list'.
Also called: natural language task · type a task · quick capture · one line to-do
- 1parseQuickAdd eats !urgent/!high/!medium/!low, then 'every day|weekday|week|2 weeks|other week|month|<weekday>', then times (9am, 9:30pm, at 14:00, noon), then days (today, tonight, tomorrow, next week, weekday names, 'July 4', 7/4).
- 2A bare time already past today rolls to tomorrow; an explicitly stated past moment is flagged, never silently moved.
- 3A day with no time is NOT given a default hour — it routes into the composer's pick-the-time step instead.
- 4Enter posts to /api/tasks with source 'quick_add' and in-app reminders.
The parser file states the standing rules it honours: 'The past is unselectable' and 'No invented times: a day without a time doesn't get a default hour'. The one exception is 'tonight' at 6pm, because the user said it themselves. The parser is deliberately small: 'a parser that guesses beyond its vocabulary silently eats words people meant.'
- A modal for every quick note is friction
- Natural-language parsers that guess wrong lose words
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →