Roadmap
What's next on the desk
We ship a public revision every few days. This page lists what we're working on, what's queued, and what we're considering — so you can see whether the desk is heading where you need it to go.
Want something pulled forward? Tap the upvote on any item. Anonymous, one vote per browser, no account needed. Email us or open an issue on GitHub if you want to make the case in detail — loud customer signal moves items from considering to next faster than anything else.
Looking for what's already shipped? Changelog. Subscribe via per-item RSS for every roadmap candidate as its own entry, or weekly digest RSS for one entry per ISO week summarising what shipped + the current snapshot.
Recently shipped
Full changelog →- rev 204Ships per-tier default daily cost caps — the flat-fee promise turned on by default — and closes the last two named rev-201 radar templates (independent specialty fishing / outdoor outfitters + independent stationery / pen shops, cluster reaches 77 verticals), then fixes the two gaps the cost-cap seeding + templates work left open. Connecting thread: rev 204 makes the rev-20 daily cost cap load-bearing on the strongest positioning axis Loop Desk has — 'you literally cannot overspend' — by seeding a plan-tier default at workspace creation instead of leaving it null (no cap). (a) Every workspace now seeds a plan-tier default daily cost cap via defaultCostCapCentsForTier (free $0.50 / pro $5 / team $20) so a brand-new desk has a hard spend ceiling from cycle 1 even if the operator never opens the integrations panel — fully overridable + removable via the rev-20 UI, and the integrations panel gains a 'Use plan default' one-tap re-apply affordance. The PLAN_LIMITS.{tier}.defaultDailyCostCapUsdCents figures are the single source of truth: the pricing module (src/lib/pricing-plans.ts) projects the same dollar figures via defaultDailyCostCapUsd so the /pricing caps block, the landing pricing block, and the /api/v1/pricing endpoint never drift from the seeded cap. (b) Two more onboarding templates close the rev-201 named radar wave: independent specialty fishing / outdoor outfitters (named-license + named-permit currency on every guided trip + charter, named-guide / named-charter continuity with a named-backup on every multi-day booking, seasonal inventory turn with the named-buyer ordering window per season, safety-incident hygiene with a same-day named-report + named-equipment quarantine on the water) and independent stationery / pen shops (named-supplier continuity on every allocation-limited pen + ink + paper line, collectibles authentication on every vintage + limited-edition intake, named-nib-service continuity on every service intake, gifting-peak inventory cadence). Two new OnboardingTemplateKey enum values (fishing_outfitter in hospitality-food, stationery_pen_shop in retail-ecommerce). The templates cluster is now 77 named verticals deep. (c) FIX — the rev-204 cost-cap seeding silently broke the rev-165 activation checklist 'Set a guardrail' step: because every workspace now ships with a cost cap set, the completion check (which keyed off 'a cost cap is set') auto-completed on cycle 1 and the nudge never surfaced. Rev 204 rekeys it off a cap that has been TUNED away from the seeded plan default (or Slack quiet hours / non-UTC timezone) so the step still nudges active engagement, and reframes the copy to 'Review your guardrails' — acknowledging the desk is already protected and inviting the operator to make the cap their own. (d) FIX — the rev-204 templates work added the two new verticals to the enum, TEMPLATE_LAUNCH, TEMPLATE_CATEGORY_BY_KEY, and the template data but forgot the TEMPLATE_KEYWORD_HINT entries, so both new verticals rendered without the per-vertical tagline chip every other vertical has had since rev 195; rev 204 adds both. (e) DESIGN — the today-panel Spend stat now surfaces the seeded cap as a reassuring brand-teal '🛡 $X/day cap · protected' chip at zero spend (the flat-fee promise visible from cycle 1) instead of the clinical '0% of $X cap', reverting to the percent-of-cap fact once spend starts. Plus the landing pricing sub-copy names the default-on hard cap as the 'No surprises' proof point ('every plan ships with a hard daily cost cap turned on by default, so your desk literally cannot overspend — even under a flat fee'). PRD + ROADMAP + CLAUDE.md updated (rev 204)2026-07-15
- rev 203Closes the named rev-202 next-sprint candidate (v1 parity gap on /pricing) + ships two more templates from the rev-201 named radar wave (cheesemongers + bookbinders) bringing the cluster to seventy-five named verticals + adds the per-plan permalink share affordance on /pricing matching the rev-101/125/174/175 share-permalink vocabulary at the per-plan axis. Connecting thread: every rev-203 change makes an existing primitive load-bearing on a new place. (a) New shared src/lib/pricing-plans.ts module is the load-bearing primitive — the /pricing page, the landing-page in-page pricing block (since rev 22), the new /api/v1/pricing endpoint, AND the rev-202 /llms-full.txt AI-discoverability surface all read from one source so a price change updates four surfaces in one edit. Until rev 203 the landing-page pricing block and the rev-202 /pricing page carried hand-coded duplicates that drifted; rev 203 closes that. (b) GET /api/v1/pricing — closes the protocol-bound parity gap on the rev-202 /pricing marketing surface. Returns every plan (slug + name + price + priceUsd + priceSuffix + description + featured + features + caps + per-plan share URL) plus the rev-202 competitor-comparison block (Notion / HubSpot / per-token) plus an aggregate summary block (planCount + startingPriceUsd + featuredPlanSlug + positioning notes). No auth — public marketing surface (same model as /api/v1/badge.svg, /api/v1/integrations, /api/v1/onboarding-templates). Cache-control public, max-age=300, s-maxage=1800. The public marketing v1 cluster reaches its seventh axis: planned (rev 98) + most-requested (rev 98) + shipped (rev 100) + brand voice (rev 102) + industry-fit (rev 172) + channels (rev 202) + pricing (rev 203). (c) Per-plan permalink share chips on every plan card on /pricing — every card now wears a one-tap 'Copy link' chip producing loopdesk.space/pricing#plan-pro style URLs, with a hash-listener that smooth-scrolls + 2.4s flash-highlights the matching plan card on arrival. Mirrors the rev-101 changelog permalink + rev-125 roadmap permalink + rev-174 per-rev changelog detail permalink + rev-175 per-template detail permalink vocabulary at the per-plan axis. (d) Two more onboarding templates — small independent cheesemongers (affinage cycle discipline + named-producer continuity + shrinkage discipline at 3% per-category threshold + pairing expertise as the load-bearing customer trust signal) and independent bookbinders / paper conservators (named-substrate + adhesive discipline on conservation-grade quotes + chain-of-custody on every customer piece + rush-job hygiene with named deadline + conservation-grade supplier continuity adjacent to the rev-201 framing/mat-board axis) — bringing the templates cluster to 75 named verticals. The OpenAPI 3.1 spec types the new /pricing endpoint with full request/response schemas + the rev-172 listing endpoint count copy bumps 73 → 75 in lockstep — the cadence pattern from rev 78 onward reaches its 111th unbroken rev with rev 203. PRD + ROADMAP + CLAUDE.md updated (rev 203)2026-05-12
- rev 202Deliberate diversification away from the 14-rev templates cluster (rev 188-201 each shipped templates-axis primitives — verticals added, depth/freshness signals, recent endpoints, per-category archive pages, OG cards). Rev 202 pivots to three load-bearing primitives that have been named in the running state but kept getting deprioritised: (a) GET /api/v1/integrations — closes the v1 parity gap on the rev-165 /integrations public marketing surface so MCP hosts answering 'what does Loop Desk connect to?' get the vendor inventory in one bearer-less GET instead of scraping the SSR'd HTML; pairs with /api/v1/onboarding-templates (industry-fit) + /api/v1/blog (brand voice) + /api/v1/changelog (shipped) + /api/v1/roadmap-items (planned) + /api/v1/roadmap-votes (most-requested) as the now-six-axis public marketing v1 cluster (channels axis closed); (b) /pricing public page — until rev 202 the only pricing surface was an in-page anchor on the landing page (loopdesk.space/#pricing), procurement reviewers searching 'Loop Desk pricing' or sharing a pricing URL with a teammate had no canonical page; rev 202 ships a dedicated page with three plan cards + competitor-comparison block (Notion Custom Agents per-cycle credits, HubSpot Breeze outcome-based) + procurement-evidence section + JSON-LD ItemList structured data; (c) /llms-full.txt — modern AI-discoverability surface that complements the existing /llms.txt; AI agents indexing the site (ChatGPT search, Claude search, Perplexity, Bing AI) get a single comprehensive context file with pricing + integrations + templates + roadmap + recent shipping + brand voice + procurement evidence so they don't have to crawl 200+ URLs to learn what Loop Desk does. The OpenAPI 3.1 spec types the new /integrations endpoint with full request/response schemas — the cadence pattern from rev 78 onward (every dashboard primitive gets typed in the OpenAPI 3.1 spec in the same cycle it ships) reaches its 110th unbroken rev with rev 202. Plus every nav link across the public marketing surface now points at the canonical /pricing URL instead of the in-page anchor (rev 202)2026-05-12
Now (Q2 2026)
Shipping in the next few revisions
Stripe checkout + plan upgrade flow
Plan limits already bite (free=3 sources / 15-min loop floor; pro=25 / 5-min; team=100 / 1-min). The upgrade CTA is wired and the daily cost cap creates a clean 'upgrade for higher cap' upsell on top of the source cap. Stripe Checkout is the only remaining monetisation gate.
MCP (Model Context Protocol) server
Thin wrapper around /api/v1 — no design work left, only protocol-translation. Exposes signals, tasks, artifacts, memory, search, stats, focus tags, comment reactions, blockers, and bulk operations as MCP tools so Claude Desktop, Cursor, and any MCP-compatible host can drive a workspace. ~1 day of wrapping work.
Slack interactive approvals
Approve / archive / regenerate buttons inside the cycle-brief Slack post (Slack interactive components). Slack already carries 25+ push channels (briefs, scheduled pause, cost cap, cost spike, due reminders, comment @-mentions, memory promotions, mention acks, ad-hoc artifact pushes, task unblocked, stuck loop, stale tasks, task auto-archived, archive warnings, cost spikes per-task/per-source/per-tag/per-assignee, chronic warnings on 3 axes, source resumed, digest gating change) — interactive buttons in the brief block are the highest-leverage step before the loop becomes 'approve from chat without ever opening the dashboard'.
Mailgun / Postmark inbound email DNS config
The /api/webhooks/email/[token] endpoint shipped rev 7 with HMAC verification (rev 13), but it still needs DNS configuration so every workspace can receive forwarded customer email at <token>@in.loopdesk.space. One-time infra setup; unlocks the same flow for every workspace.
Next (Q3 2026)
Designed; pending Now-phase completion
MCP server announcement post
Once the MCP server lands, a dedicated marketing post explaining 'Loop Desk now speaks MCP' to the 18,000+ MCP-server community. The v1 surface is functionally complete — this is the natural Q3 launch moment.
Task dependency graph (visual)
Rev 36 made dependencies a real queue gate; rev 37 made unblocking push-loud; rev 38 added a list-view dependency surface. Workspaces with 20+ interrelated tasks across multi-step workflows would benefit from a real DAG render — natural extension of the rev-38 list view.
Shopify + Etsy order webhooks
Schema types exist (`shopify`, `etsy` source kinds) but the webhook receivers and signal generators aren't wired. Highest-leverage signal source for the e-commerce slice of our ICP after the existing RSS / review-site / LinkedIn / email / inbound HTTP coverage.
ISO 42001 third-party certification
Architectural alignment + governance docs landed rev 13. A real certification (vs. self-assessed alignment) is the next procurement-blocker remover for B2B enterprise customers.
Later
On the radar; happy to be talked into pulling forward
Per-role granular UI controls
Viewer gating is wired at the API layer (rev 16) and at the dashboard's top-level forms — per-item controls on signals/memory/tasks still 403 silently rather than render disabled. Acceptable for now; refine when a real viewer use case emerges.
Mobile app (iOS / Android)
The dashboard has been mobile-responsive since rev 14 with three breakpoints (900/768/480). A native app is a meaningful step beyond that — but only if the existing mobile-web flow is a bottleneck for real users, which it currently isn't.
Blog post comments
/blog has shipped 31 founder-operator posts since rev 14. A lightweight comment thread on each post would close the operator-feedback loop on marketing surface and surface ICP voice for future blog topics.
Dashboard visual refresh
The dashboard has accumulated 30+ panels across 96+ revs of incremental polish. A bigger visual story (refreshed typography scale, a denser one-pane mode, a different colour vocabulary for the cost-axis cluster) would compound the existing rev-by-rev micro-polish discipline.
We don't commit to dates publicly — quarter-level at most. Every commit lands in the changelog the moment it ships. Building tooling on top of Loop Desk? /api/v1/roadmap-items and /api/v1/roadmap-votes expose this content as JSON. Start free — no credits, no metering, no surprises.