SwiftServe

Consumer

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-geolocation ensures 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 GEOSEARCH logic for nearby task discovery.
  • [ ] Create ST_AsMVT spatial query in NestJS for vector tile delivery.
  • [ ] Build the Main Map screen with Mapbox and custom markers.
  • [ ] Implement react-native-background-geolocation with 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.