CatchVideo v1.0.0
Product Delivery Agreement
This document defines the verified scope, deliverables, and acceptance criteria for CatchVideo Android application version 1.0.0. All product and technical statements are derived from the iamusta/CatchVideo repository source code. No feature that is not present in the codebase is included in this agreement.
1. Purpose
This agreement records what CatchVideo v1.0.0 delivers at release. It is a product scope and acceptance document — not legal advice. It is intended for release planning, store submission, and scope control.
2. Product definition (verified)
CatchVideo is a video downloader for TikTok and other social media links. Users paste a URL, download an MP4 to device storage, and manage downloads in a local history list. The app requires INTERNET to resolve and download videos. Downloaded files are stored on the device. There is no user account system, cloud library sync, or in-app purchase flow in the codebase.
2.1 Core features
| Feature | Description |
|---|---|
| Single download | Paste one link → Download → progress bottom sheet → Share / View on completion |
| Batch download | Multiple URLs (one per line) with batch progress bottom sheet |
| Background download | WorkManager (VideoDownloadWorker) + notification channel |
| Share intent | Accept text/plain share from other apps (e.g. TikTok) |
| History | Room database list with thumbnail, status, file size, Share / View / Delete actions |
| Media actions | Share video, open in viewer, set wallpaper, set ringtone (MediaActions) |
| Splash screen | Compose splash + Android 12 splash API |
| Localization | 84+ Google Play locale resource folders via scripts/generate_locales.py |
2.2 Navigation and screens
- Bottom tabs: Home, History, Menu
- Home: link input, batch toggle, background toggle, download button, how-to and disclaimer cards
- History: header, download cards, retry on failure
- Menu: Rate app, Send feedback, Share app; Settings, Privacy, Storage & history, Accessibility, Help rows
- Privacy sub-screen: Privacy policy + Delivery agreement links (external browser)
2.3 Storage and API
- Output folder:
Movies/CatchVideovia MediaStore (Android 10+) or legacy public path - Video resolution API:
https://www.tikwm.com/api/(VideoRemoteDataSource) - Local database: Room (
AppDatabase, download entity v3 withcontentUri+fileSizeBytes) - Architecture: Clean Architecture modules (
:app,:domain,:data,:core:*)
2.4 Permissions (AndroidManifest)
INTERNET,ACCESS_NETWORK_STATEPOST_NOTIFICATIONS— background download notificationsREAD_EXTERNAL_STORAGE— maxSdkVersion 32WRITE_EXTERNAL_STORAGE— maxSdkVersion 28
3. Release deliverables
- Single and batch download flows working in signed release build
- Download bottom sheet with progress and Share / View on completion
- History with Share, View, Delete, and Retry (failed items)
- Privacy screen with links to hosted privacy policy and this delivery agreement
- Release version 1.0.0 / versionCode 1
- Signed AAB built via
./gradlew bundleRelease - Google Play listing claims match §2 feature list only
- Privacy policy URL: iamusta.github.io/catchvideo-privacy-policy.html
- Feedback email from Menu → Send feedback: support@catchvideo.app
- Material 3 Compose UI, light theme, edge-to-edge
4. Acceptance criteria
| ID | Criterion | Verification |
|---|---|---|
| K-01 | Single download completes and plays in gallery | Manual smoke test |
| K-02 | Batch download enqueues all valid URLs | Batch mode test |
| K-03 | History Share / View / Delete work for completed items | History actions test |
| K-04 | Download bottom sheet opens immediately on tap | On-device UX test |
| K-05 | Privacy policy and delivery agreement links open | Menu → Privacy test |
| K-06 | Store listing text matches §2 features only | Listing review |
| K-07 | Signed AAB uploads to Play Console | Console upload |
| K-08 | Share intent from TikTok pre-fills Home URL | Share intent test |
5. Out of scope (not in codebase)
- User accounts, login, or cloud sync library
- In-app purchases, subscriptions, or Pro tier
- Built-in social platform SDK integrations (URL paste and system share only)
- iOS or web application
- Advertising SDKs
- Server-side video hosting operated by CatchVideo
- Guaranteed download of private, deleted, or region-blocked videos
6. Reference URLs
| Source repository | github.com/iamusta/CatchVideo |
|---|---|
| Privacy policy | iamusta.github.io/catchvideo-privacy-policy.html |
| Play Store package | Play Store listing URL |
| Feedback email | support@catchvideo.app |
| Document version | 1.0 — commit 69d24a4 |
7. Approval
By signing below, the parties confirm they have read this agreement and accept the scope and criteria in §2–§5.