MRVL Technologies

Shpd Roadmap

Vote on what we build next for Shpd. Your votes shape the product.

Android SDK (Kotlin + Compose)

Native Android SDK so studios can embed voting boards in their Android apps without a WebView.

In Progress
Canny board importer

One-click migration from Canny — import all feature requests, vote counts, and statuses automatically.

Planned
AI feature clustering

Automatically group similar feature requests together so you can triage faster and spot patterns in what your users want.

Planned
Push notifications when features ship

Voters automatically get a push notification the moment a feature they voted for is marked as shipped.

Open
Custom domain for boards

Host your voting board at feedback.yourstudio.com instead of shpd.app/yourstudio.

Open
Multiple team members per org

Invite your co-founder or team to manage boards, triage requests, and post changelog entries.

Open
Native Swift rendering in SDK

Replace the WKWebView with a fully native SwiftUI voting UI — zero browser, instant load.

Open
MRVL Passport cross-app leaderboard

Show voters how they rank across all MRVL apps — top voters get early access to new features.

Open
Per-user vote deduplication via MRVL Passport

Right now vote_count just increments — there is nothing stopping the same user from voting multiple times via different requests. Link votes to a MRVL Passport identity so each user gets one vote per request, and show voters which requests they have already voted on.

Open
Atomic vote counting via Postgres RPC (fix TOCTOU race)

The current vote endpoint reads vote_count then writes vote_count + 1 — a classic read-modify-write race. Under concurrent load two requests can both read the same number and both write the same increment, losing votes. Replace with a single atomic UPDATE feature_requests SET vote_count = vote_count + 1 WHERE id = $1 RETURNING vote_count called via an RPC.

Open
Daily / weekly email digest for board owners

Founders should not have to open the dashboard to know what is happening on their board. Send a configurable digest (daily or weekly) showing: new requests submitted, top movers by vote velocity, and any request that crossed a milestone (10, 50, 100 votes). One-click unsubscribe.

Open
Embeddable vote widget — iframe + JS snippet

Let founders drop a compact Shpd widget into their own marketing site, docs, or in-app help centre. Shows top 3–5 requests with live vote counts and a "Vote on the full board" CTA. No login required to view; clicking Vote opens the full board.

Open
Merge duplicate feature requests and pool votes

Users submit duplicates constantly. Board admins need a one-click merge that picks a canonical request, redirects all votes from the merged request to the canonical one, and shows a "merged into X" tombstone on the old request.

Open
Changelog / "We shipped it!" posts alongside roadmap

When a request moves to shipped, let founders publish a changelog entry linked to the original request. Voters who upvoted that request get a notification. Creates a positive feedback loop that drives more voting.

Open
Slack / Discord webhook when a request hits a vote threshold

Founders want a signal in their team chat when community momentum is building. Let them set a vote threshold (e.g. 25, 50, 100) and a webhook URL — Shpd posts a message when any request crosses it.

Open
Private / invite-only boards for beta testers

Some boards should not be publicly discoverable. Add an invite-only mode where the board URL is only accessible to users who have been given a magic link or whose email is on an allowlist.

Open
CSV export — all requests, vote counts, and status

Founders doing their own analysis in Google Sheets or Notion need a one-click CSV download of their full board. Include: title, description, status, vote_count, created_at, last_updated.

Open
Request moderation queue

Optional per-board toggle: new submissions go to "Pending review" before appearing publicly. Prevents spam and competitive sabotage. Product team approves or rejects from a simple dashboard view.

Planned
Status update comments on requests

When a request moves to Planned, In Progress, or Shipped, the product team can leave a short public comment visible to all voters — closing the feedback loop without needing a full comment thread.

Planned
Voter segmentation — tag voters by company / tier

Allow the SDK to pass an optional customer segment (company name, plan tier, MRR band) when a voter votes. Requests can then show "3 enterprise customers want this" rather than raw vote counts, making prioritisation far more meaningful for PMs.

Open
Merge duplicate feature requests

The AI clustering view already groups similar requests. Add a Merge action that combines vote counts, marks one request as canonical, and redirects the duplicate URL to the primary. Canny users consistently cite this as their most-used power feature.

Open
Weekly digest email for voters

Authenticated voters receive a Sunday email showing activity on requests they voted for: status changes, new admin comments, new similar requests. Drives re-engagement passively, without push notification infrastructure.

Open
Board analytics dashboard for PMs

Vote velocity chart (votes/day per request over 90 days), voter geography map, weighted vs raw vote breakdown, and top-requested features by segment. The API endpoints already exist — this is a PM-facing dashboard UI.

Open

Don't see what you need?