TechSync

Product · Issues

Issues with a real graph.

Most issue trackers treat issues as rows in a table. TechSync treats them as nodes in a graph — parents, children, blockers, and duplicates are first-class edges.

Four edge types

Parent/child, blocked-by/blocks, related, duplicate-of. Blocked issues show a red dot and are excluded from cycle velocity automatically.

Permanent IDs

Issue IDs like PLAT-342 never change, even when you rename a team. Old URLs redirect. Safe to put in PR descriptions, commits, and Slack.

Keyboard-first

C to create, A to assign, P to prioritise, Y to copy URL. ? to open the full cheat sheet. Cmd+K for command palette.

Rich descriptions

Markdown with issue references (#PLAT-342), Figma / Loom embeds, and saved-query tables. Issue IDs render as live status cards.

The data model

// Issue shape (public API v1)
{
  "id": "iss_01HZK9...",
  "key": "PLAT-342",
  "title": "Webhook retry backoff is too aggressive for EU region",
  "state": "in-progress",      // todo | in-progress | review | done | canceled
  "priority": "high",          // urgent | high | medium | low | none
  "estimate": { "points": 3 },
  "assigneeId": "usr_hamza",
  "cycleId": "cyc_24_platform",
  "labels": ["region-eu", "webhooks"],
  "parentIssueId": null,
  "blockedBy": ["PLAT-347"],
  "related": ["PLAT-325"],
  "createdAt": "2026-04-09T10:14:22Z"
}