Voice commands
Search tasks, run the timer and switch organizations by voice — on-device recognition, no network needed
By voice you can find a task, open it, start and stop the timer, ask what is running right now and switch the organization — without looking at the screen, for example on site with the phone in your hand.
Commands are recognized in Russian only. The phrases in quotes below are English renderings of the Russian commands; say them in Russian.
Where the microphone button is
- Task list — a round microphone button above the create-task button. It is always visible: if there is nothing to recognize with yet, tapping it explains why and offers to download the model.
- Task card — a microphone button in the action bar. It appears only when recognition is ready — there is no non-working button in the action row.
One command — one tap: the microphone turns off after the reply.
Recognition: on the device, no network
Speech is recognized on the phone itself — the recording is never sent anywhere. The engine is chosen automatically:
- System recognition — if the phone supports it (Android 13 or newer, with a recognition service for Russian installed — usually phones with Google services). Nothing needs to be downloaded, voice works right away.
- Vosk — on other phones. The recognition model is not bundled with the app — you need to download it once, and after that voice works offline.
You can pick the engine manually and manage the model in Settings → Voice → Voice input. An explicit choice takes precedence over the automatic one.
Downloading the model
- By default, the download waits for Wi-Fi. To download over a mobile network, use the Over mobile data button — the app shows the download size in advance.
- The screen shows the model state: "Not downloaded", "Waiting for Wi-Fi", the download percentage, "Ready". An interrupted download can be retried, and a downloaded model can be deleted.
- The downloaded file is verified against a checksum. If it does not match, the file is deleted and the screen honestly says "Corrupted" instead of pretending everything is ready.
- If the phone runs out of storage, the screen tells you how much is missing.
Memory and tracking
Before recording starts, the app checks free memory. If there is not enough for the model, recording does not start — with an explanation of how much is needed and how much is free. This way voice cannot crash GPS tracking that is running.
Commands
Say "what can you do" — the app lists the available commands.
| Command | Example | What happens |
|---|---|---|
| Search tasks | "find crane" | Searches the saved tasks of the organization — see below |
| Pick from results | "open the second one" | Opens the card of the task with this number from the latest results |
| Start the timer | "start the timer on crane" | Starts tracking time on the named task |
| Stop the timer | "stop the timer" | Time tracking on the task ends |
| What is running | "what is running now" | Only a reply — nothing changes |
| Switch organization | "switch to Acme" | The active organization changes |
| Clear search | "clear search" | Only the list's search field is cleared |
| Reset filters | "remove filters" | The list shows tasks without filters and presets |
| Cancel | "cancel" | Drops a pending clarification |
Before acting, the app shows how it understood the phrase and what it is going to do.
Voice search
- Voice searches all tasks of the active organization saved on the phone — the list's on-screen filters are not taken into account. The reply says so: N found in the organization's saved tasks.
- The list switches to a Voice search: … mode with your query, an "N found · M shown" label and a Reset button. The first 5 matches are shown, numbered in order. Your filters do not change — after the reset the list returns to how it was.
- A number from the results ("open the second one", "start the timer on the second one") is valid for 60 seconds. After that the results are considered stale: a background refresh could have shifted the numbers, so the app asks you to search again rather than acting on a different task. A new search or an organization switch also resets the results.
- If nothing is found, the app does not say "there is no such task": the task may simply not be loaded yet. Refresh the list and search again.
Timer by voice
- Start requires a named task: "start the timer on crane" or a number from the results. "Start the timer" without a task on the list is refused with a request to name the task: the app does not guess which task to count time on. On the task card, the target is the open task.
- If several tasks match the name, or the match is not exact, the app asks again, even if there is only one candidate. An exact match (task number, the full title) starts right away.
- A voice start follows the same rules as the button: the team policy, session limits, the precise location permission.
- Stop is silent, as from the notification: without a comment and without a status change. The time goes to the tracker by the same rules as a normal stop — for trackers that do not accept time, it will not be in the tracker (see What each tracker can do).
- If several timers are running, the app asks you which one to stop.
Switching organization by voice
On an exact name match the organization switches right away, on an inexact one — after confirmation. Switching works offline too, and the reply says so separately: switched to Acme, offline for now (see Offline mode).
Spoken replies
The app speaks the outcome of a command: "Timer started", "3 tasks found". The list of found tasks is not read out — only the number of matches, and you can pick a task by its number.
- Task titles are not spoken by default — work titles are treated as sensitive data. To turn them on: Settings → Voice → Response speech → Speak task names.
- Spoken replies can be turned off entirely in the same place.
- Only the phone's offline voice is used — network speech synthesis is never used. If the phone has no offline Russian voice, spoken replies stay off and the app offers to install the language pack.
If voice does not work
The app tells you the reason instead of staying silent:
- no microphone access — grant it in the system dialog or in the app settings;
- the model is not downloaded or is corrupted — the button leads to the Voice input screen;
- not enough memory — recording did not start so as not to crash tracking;
- no command in the phrase — a phrase without a command verb ("find", "start", "stop"…) does not turn into a search by itself; say, for example, "find crane";
- a "not" came before the command — nothing is executed.
You can see exactly what was heard and how it was parsed in Settings → Voice → Voice command debug: a phrase can be dictated or typed on the keyboard there, and commands from that screen are not executed.