---
id: TASK-MEDIUM.4
title: Inline CrowdSurf swipe cards in rChoices dashboard
status: Done
assignee: []
created_date: '2026-03-17 00:30'
updated_date: '2026-03-17 00:30'
labels: []
dependencies: []
parent_task_id: TASK-MEDIUM
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
Embed swipe-card interface in the CrowdSurf tab of folk-choices-dashboard.ts, populated with rChoices option data using seeded PRNG sortition. Right-swipe = approve (casts vote), left-swipe = skip. Includes gesture handling, localStorage persistence, summary view, and reset.
<!-- SECTION:DESCRIPTION:END -->

## Implementation Notes

<!-- SECTION:NOTES:BEGIN -->
Implemented inline CrowdSurf swipe cards with seeded PRNG sortition (mulberry32 + djb2), gesture handling adapted from folk-crowdsurf-dashboard.ts with bug fixes, localStorage persistence, vote casting via local-first client, summary view, and reset. Commit: 383441e on dev+main.
<!-- SECTION:NOTES:END -->
