Skip to content
Work. Organize. Deliver.

Work management for teams that ship software

Projects, boards, backlogs and sprints, a Gantt that draws the dependencies between them, and a GitHub connection that keeps the tracker and the repository telling the same story — inside an organization whose administrators decide who can see what.

Every capability on this site is one implemented in the product. Nothing here is a mock-up of something planned.

An illustration of a Vorkhurry project board with four columns — To do, In progress, In review and Done — holding issue cards. Each card shows its issue key, title, priority, estimate and assignee; two cards carry a linked pull request.

What Vorkhurry does

One system for planning the work, doing it, and knowing where it is

Vorkhurry takes the concepts that earned their place in Jira and Linear and puts them on one architecture, with the organization model a company actually needs underneath.

Nine views per project

Overview, Board, Backlog, Sprints, List, Calendar, Gantt, Members and Settings. All nine are built — none is a placeholder.

GitHub, connected properly

A GitHub App scoped to the repositories you install it on. Branches, commits and pull requests land on the issues they name.

AI on your own key

Eleven assists across issues, projects and sprints — running on your organization's OpenAI, Anthropic or Gemini account.

Roles that mean something

146 named permissions, 20 role templates, groups, per-member overrides, and a view that answers what one person can actually do.

Reports from real events

Throughput, cycle time, flow efficiency, burndown, velocity and cumulative flow — computed, not estimated.

One search across everything

Issues, projects, epics, sprints, people, documents, comments, meetings and announcements in one ranked, permission-filtered result set.

Isolation you can check

Tenant scoping in one place, PostgreSQL row-level security as an independent backstop, and an append-only audit log.

End to end

From an empty workspace to a finished project

Every step below is a screen in the product. Nothing in this sequence is aspirational.

  1. Create the organizationSignup creates a workspace, not just a user
  2. Create a projectWith its own key, members and workflow
  3. Build the backlogOr import it from Jira, Linear or a CSV
  4. Plan the sprintThe commitment is snapshotted at start
  1. Do the workBoard, list, calendar — and the repository
  2. Track the scheduleGantt, dependencies and milestones
  3. Read the reportsBurndown, velocity, cumulative flow
  4. Complete the projectWith the activity and audit history intact

Planning

See the whole project, and what it is waiting on

A dependency-aware timeline per project: bars from start and due dates, milestones, progress, and finish-to-start arrows between blocked work.

The schedule at a glance

Every issue with a start and a due date is a bar on one axis, with milestones sitting on the same axis and progress filling the bar.

Dependencies, drawn

Scheduling links between issues, resolved per project as the edge set the Gantt view draws — and checked for cycles.

Conflicts you can act on

A dependency that would create a cycle is rejected. A cycle in a schedule is not a drawing problem — it is a plan that cannot be executed in any order.

One project's own order

A project's chart orders only its own issues. A link reaching outside it is recorded without reordering someone else's plan.

Development

The board and the repository stop disagreeing

Issue keys in a branch name, a commit message or pull-request text are matched against your own project keys and recorded as activity on those issues.

  1. TicketVOR-118 on the board
  2. Branchfeature/VOR-118-swimlanes
  3. CommitVOR-118: swimlane grouping
  4. Pull requestMoves to In review
  5. MergeMoves to Done

Installed, not authorised

Connected as a GitHub App, scoped to the repositories you install it on. Only the installation id is stored; every call mints a fresh token that expires in an hour.

Your keys, your projects

Keys found in a branch, a commit or a pull request are intersected with your organization's project keys, so someone else's numbering scheme never matches yours by accident.

Transitions you allowed

Map a pull-request event to a status — opened to In Review, merged to Done. The move runs through the workflow's own guards, so a transition you have not allowed is skipped rather than forced.

GitHub is the version-control integration that exists today. GitLab and Bitbucket are not implemented.

AI assist

Your provider. Your key. Your models.

An administrator connects OpenAI, Anthropic or Google Gemini with the organization's own API key. There is no shared Vorkhurry key, and the key never leaves the server — the API returns a masked suffix only.

  1. An organization administrator

    AI is off until someone turns it on

  2. Connects a provider

    OpenAI, Anthropic or Google Gemini

  3. With your own API key

    Encrypted at rest; the API returns a masked suffix only

  4. Selects models and a budget

    Allow-list, a default, per-feature overrides, a monthly cap

  5. AI assist across Vorkhurry

    Eleven actions on issues, projects and sprints

There is no shared Vorkhurry key

Model usage runs on your organization's own provider account and is billed by that provider. Vorkhurry does not resell, subsidise or proxy anyone's model usage.

Models, allow-lists and budget

Choose which models are enabled, set a default and per-feature overrides, and cap monthly spend. Every call is recorded, so usage is a number you can look at.

Suggestions are reviewed, not applied

Output arrives as a suggestion you accept or reject. Applying it is a second, deliberate step — nothing a model wrote edits your issues on its own.

Communication

The events that matter, where your team already is

Issue, comment and sprint events are dispatched from the same domain event bus the rest of the product runs on, routed per project, and delivered on a background queue — so a chat outage never slows the application down.

Something happens in Vorkhurry

An issue is created, assigned or transitioned; a comment is added; a sprint starts or completes

Notification routing

Per-integration event subscriptions, per-project channel routing, and a default channel

  • Slack

    OAuth bot token · chat.postMessage

  • Microsoft Teams

    Incoming Webhook · MessageCard

Choose the events

A connected workspace subscribes to the event types it wants. The published events are issue created, updated, deleted, assigned, transitioned and moved; comment added, updated and deleted; project updated; and sprint started and completed.

Route per project

Send one project to its own channel and everything else to a default. Teams supports several channels by giving each webhook URL a label.

Failures stay contained

Delivery runs as a background job. A provider that rejects a message marks the integration as errored rather than retrying into a storm.

Migration

Bring your existing work into Vorkhurry

Every source record becomes a row with its own status, so an import is resumable, reports errors per row, and a re-run updates what it already created instead of duplicating it.

  1. Jira, Linear or CSVAPI credentials, or a file
  2. PreviewSee the rows before anything is written
  3. MapSource statuses onto your workflow
  4. ValidatePer-row checks and conflict detection
  5. VorkhurryCreate, update or skip — per row

Resumable by design

Every source record is its own row with its own status. Already- imported rows are skipped on a re-run, and a re-run updates what it created rather than duplicating it.

Errors that name the row

A record that fails validation reports why, on that record — not as one failure for the whole job.

What this is not

An issue import, not a full-fidelity migration of every field, workflow and add-on a mature instance accumulates. Preview the rows and check the mapping before you run it.

Organization

Access that survives the org chart changing

146 permissions in a named catalogue, 20 role templates from Owner to Guest, per-member overrides, and an effective-permission view that answers what one person can actually do.

  1. Organization

    Every account belongs to one; there is no path in without one

  2. Departments, teams and groups

    Plus designations, skills and reporting lines

  3. Roles and permissions

    146 permissions, 20 role templates, per-member overrides

  4. Projects

    Members are added to the projects they work on

  5. Work

    Issues, sprints, documents — visible to exactly who should see them

Administrators decide, not defaults

Roles carry no hierarchy — a role is exactly the permissions granted to it, so "manager" never quietly implies something nobody granted. Permissions that let a holder escalate their own access or read sensitive personal data are flagged as such and audited when granted.

Answer "what can this person do?"

An effective-permission view resolves a member's roles, group memberships and overrides into the one answer that matters, instead of leaving you to work it out from three screens.

Audit log

An append-only record of settings changes, membership changes, role changes, permission overrides, invitations and ownership transfer — with the actor, the outcome, and what changed.

Start with your team, not with a sales call

Create a workspace, invite the people you work with, and bring your existing issues in from Jira, Linear or a CSV.