Projects, tasks, one set of rows
Nested tasks with priorities, estimates and comments, viewed as a list or a board over the same data. Realtime sync is not built — clients poll for changes.
Works todayAvailable now
In build
The whole team
Nineteen specialists, each with a defined job and an honest status label.
See all nineteenTasks with dependencies refused before they cycle, versioned SOPs staff actually acknowledge, an ordered approval chain, a wiki, and a client portal that reads nothing but a fixed field list. Guru has no per-person throughput, completion-rate or speed metric — not hidden, not written — and its workload view is sorted by name, not by load.
What it does
Every card's status label is derived from the backend's own capability module — nothing here can award itself a stronger status than the code supports.
Nested tasks with priorities, estimates and comments, viewed as a list or a board over the same data. Realtime sync is not built — clients poll for changes.
Works todayBlocked-by links checked against the whole graph before they are written, and the full downstream tail returned so the deadline that actually slips is visible.
Works todayMinutes assigned per person, summed from task estimates and never stored. Ordered by user id rather than by load — the sort order is the entire difference between a capacity view and a ranking. A peer cannot open a colleague's.
Works todayPublishing freezes a version; editing opens a new draft rather than rewriting the copy someone is mid-task with.
Works todayRepublishing an SOP reopens acknowledgment against the new text. Only the assignee can confirm it, and the record is yes/no plus a timestamp — nowhere to put anything else.
Works todayTemplates, timestamped runs, in-order step completion and an append-only reassignment trail all work. A template can carry a recurrence rule, and generating the runs due in a horizon is a route safe to call repeatedly or from any scheduler. A run untouched for two weeks or more is flagged stalled, separately from ordinary open work.
Works todayDecisions kept apart from the prose and converted into tasks that keep a link to the note. Nothing joins, records or transcribes a call.
Works todayA server-side whitelist that never reads a comment or an assignee — the projection function is never given them, so there is no filter to get wrong. The share token is stored only as a SHA-256 digest and cannot outlive 180 days.
Works todayDaily, weekly and monthly rules generated in the shop's own timezone against a unique local-slot key, so a DST shift or a repeated call cannot duplicate an occurrence.
Works todayEvery step names a delegate at creation, not added after someone gets stuck. Reminders nudge and never resolve — there is no timeout that approves, and nobody signs off their own personnel request.
Works todayFolder-pathed pages with a last-reviewed date and a staleness flag on every read. Search is a workspace-scoped match, not a full-text index.
Works todayGuru's own counts sit beside Ank's business metrics, passed through unchanged — value, what it counted, and its SQL. Layout is saved per user, and each widget's snapshot refreshes lazily on read past a five-minute interval rather than recomputing every request. Guru still never recomputes a business number Ank already owns.
Works todayA generated status assembled from task rows, never drafted by a model, so it cannot say anything the numbers do not. A task untouched for 30 days is reported as a gap, never smoothed over.
Works todayA goal's current value is computed from the weighted completion of the tasks and projects linked to it — never typed in by hand. A link's weight is refused if adding it would push a goal's tracked total past fully complete, so one task can't be double-counted into two goals' progress. Recalculates inline whenever a linked item's status changes.
Works todaySetting a cadence schedules the first review; completing one schedules the next per that cadence, so nothing regenerates a review that already happened. An overdue one is flagged rather than silently skipped. Notes are visible only to the goal's owner and to an owner, admin or manager.
Works todayA project can ignore sprints altogether. Closing one optionally rolls only its incomplete tasks into a named follow-on sprint and preserves which sprint a task was originally committed to — nothing closes or rolls on its own. Daily burndown is callable more than once a day; it upserts that day's row rather than duplicating it.
Works todaySkill tags and weekly availability are stored per person and visible only to that person and a manager, never team-wide. Matching a task's category against an eligibility rule reports only the required tags a candidate has or lacks — never their full skill sheet, so it can't become the ranked list this product refuses to build. Marking someone on leave is manual today; syncing it from an approved leave request needs a payroll or HR module this deployment doesn't have.
Works todayIts own three tables, so HR-sensitive visibility is enforced by construction: only the employee themselves, or an owner, admin or manager, can read an instance — never an unrelated peer. Steps complete in order, the same gate process-checklist uses, and a step naming no assignee defaults to the new hire's own task.
Works todayThe one deliberate omission
Stated in neutral terms — this page names a capability difference, never a competitor's product.
| Aspect | Common in the category | Guru |
|---|---|---|
| What the workload view is ordered by | By load, heaviest first — a ranking of who has the most work. | By name. Sorting by load is the one change that would turn this into a ranking, and the boundary this agent operates under forbids that outright. |
| Per-person speed, throughput or completion rate | A common input to a workload or capacity view in this category. | Not computed anywhere. There is no column for it, and no route returns one. |
| Passive activity signals (keystrokes, idle time, screen time) | Increasingly offered as an input to a workload or productivity score. | Refused at write time. Any field whose key matches a monitoring term is rejected before it reaches the database, with a redirect to the honest alternative. |
| Who can see a colleague's workload | Often visible to any teammate assigned to the same project. | Only the person themselves, their manager, or an owner — never a peer, and never as a team-wide ranked list unless the owner opts the whole workspace in. |
How it looks
Limits
Not marketing numbers — every figure here is a constant or a bound in the codebase, not a plausible-sounding round number.
| Client portal link — longest life | 180 days |
|---|---|
| Wiki page — flagged stale after | 180 days unreviewed |
| Task or project — flagged "gone quiet" after | 30 days untouched |
| Recurring template — occurrences per generation call | 120 |
| Weekly capacity a person can log | 0–10,080 minutes (one full week) |
What it refuses to do
Before you switch
Tell us how your team runs approvals today and we will show you exactly what Guru carries — and the five things it still does not.
Questions
Guru has no per-person throughput, completion-rate, on-time-percentage or speed metric anywhere — not hidden behind a role check, not written. A leaderboard cannot leak if nobody computed it. The workload view exists to show whether someone is overloaded, and it is ordered alphabetically for exactly that reason — a ranked list is a leaderboard with different column headings.
Minutes assigned per person for one week, summed from task estimates and never stored, beside a stated weekly capacity. A task with no estimate is counted and shown as unestimated rather than treated as zero work, because that direction of error is the one that hides an overloaded person.
No. Every new dependency is checked against the existing graph before it is written, and one that would close a loop is refused with the reason, not saved and discovered later when a report hangs.
A named human on the ordered chain, or their delegate if they are unavailable — delegates are set when the chain is created, not bolted on later. Nothing times out into an approval, and nobody can sign off their own hiring, pay or disciplinary request.
A read-only view of one project: name, status, dates and description, plus tasks explicitly marked client-visible showing only title, status and due date. The function that builds it is never given comments or assignees, so there is nothing to filter out — it was never fetched. The link itself is a token stored only as a hash, capped at 180 days.
No. All eighteen specified capabilities have a real implementation, and none of them calls an external service — there is nothing here waiting on a credential.