Postcard iOS App - Product Requirements Document
Milestone 1: MVP Implementation
Version: 1.1 (Updated with iOS Implementation Spec) Date: January 16, 2026 Platform: iOS (Swift) + Cloudflare Infrastructure Status: Developer Ready - Implementation Spec
1. Executive Summary
Postcard is a "back to basics" social media app for iOS that prioritizes meaningful friend connections over engagement. It strips away modern social media's attention traps and returns to simple photo/video sharing.
Core Experience
Users share photos and videos in chronological order with their friends. That's it. No distractions, no doom-scrolling, just connections.
2. Technical Stack
2.1 iOS Client (Swift)
- UI Framework: SwiftUI
- Authentication: Auth0 iOS SDK (SMS OTP)
- Networking: URLSession (async/await)
2.2 Cloudflare Infrastructure
- Workers: API backend and business logic.
- D1: Relational database (SQLite).
- Images: Photo storage and optimization.
- Stream: Video upload and delivery.
3. Milestone 1 Scope
Authentication & Profile
- Auth0 SMS OTP login/registration.
- User profiles with name, DOB, and avatar.
- Public profile URLs (
getpostcard.app/u/{public_id}).
Friends System
- Mutual-only friendship model.
- Contact-based friend discovery.
- Block and Report functionality for safety.
Posting & Feed
- Photo and video uploads (max 60s video).
- Carousel posts (up to 10 items).
- Reverse chronological feed.
- Simple like system ("Liked by Mason and others").
Safety & Moderation
- Pre-post automated content filtering.
- In-app reporting and blocking.
- Admin dashboard for manual review.