Original Idea
Micro-Volunteer Matcher A mobile app that matches people with 15-minute volunteer opportunities nearby—like reading to seniors, park cleanups, or food sorting—with instant sign-up.
Product Requirements Document (PRD): SwiftServe
1. Executive Summary
SwiftServe is a mobile-first micro-volunteering platform designed to eliminate the friction of traditional community service. By matching users with 15-minute, high-impact tasks nearby—such as reading a letter to a senior or assisting with a 15-minute park sweep—SwiftServe transforms idle time into community value. Utilizing a 2026-standard tech stack focused on real-time geospatial precision and hardware-backed verification, the app ensures that volunteering is as immediate and easy as ordering a rideshare.
2. Problem Statement
Traditional volunteering suffers from high "onboarding friction": lengthy background checks, long-term commitments, and rigid schedules. This prevents time-constrained professionals, students, and active retirees from contributing. There is currently no "on-demand" infrastructure that allows a person to contribute 15 minutes of their time to a verified local need with zero prior training and instant verification.
3. Goals & Success Metrics
- Total Service Minutes (TSM): Aggregate minutes served across the platform (Target: 1M minutes in Year 1).
- Time-to-Task (TTT): Average time from app open to task sign-up (Target: < 60 seconds).
- Volunteer Retention: % of users who complete a second task within 14 days (Target: 40%).
- Fulfillment Rate: % of posted micro-tasks successfully completed (Target: 85%).
- Platform Trust: < 1% dispute rate on task completion verification.
4. User Personas
A. Sarah (The Time-Constrained Professional)
- Profile: 32, lives in a city, works 50+ hours/week.
- Need: Wants to give back but cannot commit to every Saturday.
- Usage: Uses SwiftServe during her lunch break or while waiting for a late train.
B. Leo (The Service-Hour Student)
- Profile: 19, needs 40 hours of community service for a scholarship.
- Need: Needs verified, logged hours that are easy to track and export.
- Usage: Completes 2-3 micro-tasks between classes.
C. Marcus (The Non-Profit Coordinator)
- Profile: 45, manages a local food bank.
- Need: Needs "burst labor" (e.g., 5 people for 15 mins to unload a surprise delivery).
- Usage: Posts urgent tasks via the organization dashboard.
5. User Stories
- As a volunteer, I want to see a real-time map of tasks within 5 miles so I can find an opportunity immediately.
- As a volunteer, I want to sign up with one tap so I don't have to fill out repetitive forms.
- As an organization, I want to verify a volunteer's presence via QR code so I don't have to manually log their hours.
- As a student, I want a digital "Impact Dashboard" so I can prove my service hours to my university.
- As a volunteer, I want a haptic notification when I enter a task zone so I know I'm in the right place.
6. Functional Requirements
6.1 Geospatial Discovery
- Real-time Map: High-performance map view using Mapbox Vector Tiles (MVT).
- Proximity Filters: Users can filter tasks by distance (0.5mi to 10mi) and category.
- Urgent Alerts: Push notifications for "High Priority" tasks within a 2km radius.
6.2 Task Management
- One-Tap Commitment: "I'm coming" button that reserves the spot for 20 minutes.
- Strict Duration: Tasks must be categorized as 15, 20, or 30 minutes. The system prevents posting tasks longer than 30 minutes.
- Automated Routing: In-app walking/driving directions to the task site.
6.3 Presence & Verification
- Secure QR Check-in: Organization-side QR code scanning using
react-native-vision-camera(v4). - Geofence Enforcement: Check-in only unlocks when the user's GPS is within 50 meters of the task coordinates.
- Background Tracking:
react-native-background-geolocationensures the user stays on-site for the duration of the task.
6.4 Organization Vetting
- Automated 501(c)(3) Check: Integration with Candid API for instant status verification.
- KYC/App Attestation: Verification of the organization's representative via Google Play Integrity / Apple App Attest.
7. Technical Requirements
7.1 Frontend (Mobile)
- Framework: React Native 0.83 (Maturity Era).
- Architecture: Fabric Renderer (Mandatory), TurboModules.
- Optimization: React Compiler (Zero-effort memoization); FlashList for task feeds.
- State Management: TanStack Query v6 (Server State) and Zustand (UI State).
7.2 Backend
- Framework: NestJS 11+ (Fastify Adapter).
- Logic: CQRS pattern for separating task discovery (Read) from sign-ups (Write).
- Real-time: Server-Sent Events (SSE) for task status updates.
- Database: PostgreSQL 18 with PostGIS 3.6 extension.
- ORM: Drizzle ORM (SQL-first performance).
7.3 Infrastructure & Integrations
- Hosting: AWS Fargate (Graviton/ARM) for the API; AWS Lambda for background notification triggers.
- Caching/Geo: Redis Stack (Redis Geo) for sub-millisecond proximity pings.
- Auth: Firebase Auth v13+ (Biometric Passkeys enabled).
- Push: Firebase Cloud Messaging (FCM) via HTTP/2.
8. Data Model
| Entity | Attributes | Relationships |
| :--- | :--- | :--- |
| Volunteer | id (UUID), fullName, impactScore, biometricId, homeBase (Geometry) | Has many ServiceRecords |
| Organization | id, name, ein, isVerified, avgRating | Owns many MicroTasks |
| MicroTask | id, orgId, title, location (Geometry), startTime, durationMin, status | One-to-many Volunteers |
| ServiceRecord | id, volunteerId, taskId, checkInTime, checkOutTime, isVerified | Links Volunteer & Task |
9. API Specification (Key Endpoints)
GET /v1/tasks/nearby
- Query Params:
lat,lng,radius,zoom. - Response:
Protobuf/MVT(Mapbox Vector Tile) for high-speed rendering.
POST /v1/tasks/:id/commit
- Header:
Authorization: Bearer <Firebase_ID_Token> - Payload:
{ lat: number, lng: number, deviceIntegrityToken: string } - Validation: Uses Geofence to check if user is within range to commit.
POST /v1/verify/check-in
- Payload:
{ taskId: string, qrPayload: string, biometricProof: string } - Security: Server-side validation of QR signature + Hardware Attestation.
10. UI/UX Requirements
- Map-Centric Design: The map is the home screen; pins are color-coded by urgency (Red = < 30 mins left).
- Haptic UI: Specific vibration patterns for successful QR scan (double-thump) and geofence exit (warning buzz).
- Skeleton Screens: Use Shimmer effects for task loading to maintain a perceived TTT of < 1s.
- Accessibility: Support for Dynamic Type (iOS) and screen readers; contrast ratio > 4.5:1.
11. Non-Functional Requirements
- Performance: Map marker rendering < 500ms using SP-GiST indexing.
- Security: AES-256 encryption for user location data at rest; zero storage of raw biometric data.
- Scalability: Support 10,000 concurrent proximity searches per second via Redis Geo.
- Reliability: 99.9% uptime for the check-in service (Fargate Multi-AZ).
12. Out of Scope
- Monetary payments or tips to volunteers.
- Background checks for volunteers (tasks are designed to be "zero-access" and low-risk).
- Desktop application for volunteers (Mobile only).
- Recurring weekly shifts.
13. Risks & Mitigations
- Risk: GPS Spoofing for fraudulent hours.
- Mitigation: Multi-source Location Fusion (BLE beacons + Wi-Fi fingerprinting + App Attestation).
- Risk: "Ghosting" (signing up and not showing).
- Mitigation: "Trust Score" penalty; 3 no-shows result in a 30-day account suspension.
- Risk: Organization Fraud.
- Mitigation: Automated Candid EIN verification + Manual digital footprint audit.
14. Implementation Tasks
Phase 1: Foundation & Project Setup
- [ ] Initialize React Native 0.83 app with
npx create-expo-app(Prebuild/Bare). - [ ] Set up NestJS 11 backend with Fastify and
@nestjs/cqrs. - [ ] Configure PostgreSQL 18 with PostGIS 3.6 in AWS RDS.
- [ ] Set up Drizzle ORM schema and migrations.
- [ ] Initialize Firebase Admin SDK v13 for authentication.
Phase 2: Geospatial Core
- [ ] Implement Redis Stack
GEOSEARCHlogic for nearby task discovery. - [ ] Create
ST_AsMVTspatial query in NestJS for vector tile delivery. - [ ] Build the Main Map screen with Mapbox and custom markers.
- [ ] Implement
react-native-background-geolocationwith a 50m geofence trigger.
Phase 3: Task Workflow & Security
- [ ] Build QR Scanner using
react-native-vision-camera(v4) with frame processors. - [ ] Integrate Google Play Integrity and Apple App Attest in the check-in flow.
- [ ] Create the "Impact Dashboard" UI with real-time minute counters.
- [ ] Implement FCM high-priority notification worker using Node.js 22 Worker Threads.
Phase 4: Organization Vetting & Launch
- [ ] Build Organization Onboarding flow with Candid API integration.
- [ ] Create the "Post a Task" UI for organizations with CSV batch upload.
- [ ] Implement automated re-verification cron job for non-profit status.
- [ ] Deploy to AWS Fargate (Graviton) with PgBouncer connection pooling.