Freelance Client Portal
A PRD focusing on scope containment, simple authentication, and secure file uploads for a freelance web development agency.
1. Objective
To build a secure, branded portal where clients can log in to view project progress, download invoices, and upload requested assets (images, copy). This reduces endless email threads and centralizes client communication.
2. Constraints & Scope
Time Constraint
Must be completed in exactly 2 weeks (40 hours of billable work). Therefore, no custom chat system will be built. All communication defaults back to email.
Budget Constraint
Client is on a tight budget. We will use Firebase Authentication (free tier) instead of building a custom auth solution from scratch.
Out-of-Scope Explicitly
- In-app messaging or chat (communication stays in email).
- Email notifications for every file upload.
- Complex permission levels (everyone who logs in has full access to the portal).
3. Milestones & Deliverables Schedule
| Milestone | Deliverable | Timeline |
|---|---|---|
| Week 1 | UI Design Approval & Firebase Auth Integration | Day 1 - 7 |
| Week 2 | AWS S3 Uploads, Final Testing, & Handoff | Day 8 - 14 |
4. Core Features (User Stories)
Auth & Access
Story: As a client, I want to log in with a magic link sent to my email so I don't have to remember a password.
- Magic link expires in 15 minutes.
- Session persists for 7 days.
Asset Uploads
Story: As a client, I want to drag-and-drop zip files and images into the portal.
- Max file size is 50MB.
- Only .png, .jpg, .pdf, and .zip files are allowed.
- Files are uploaded directly to AWS S3 using presigned URLs.
5. Third-Party Services & Budgeting
Used for passwordless magic link logins.
Used for secure asset uploads & storage.
Frontend and Serverless API hosting.
6. Client Sign-Off Criteria
Acceptance Testing
The project is considered complete and final payment is due when the following actions are successfully performed by the client on the live URL:
- 1. Client successfully logs in using an email magic link.
- 2. Client successfully uploads a 10MB .zip file and sees it appear in the dashboard.
- 3. Client successfully downloads a sample invoice from the dashboard.
7. Maintenance & Support (SLA)
Post-Launch Agreement
The portal will be hosted on Vercel. Up to 2 hours of bug fixes per month are included for the first 3 months. Any feature requests (like adding a chat module or connecting to a CRM) will require a new Statement of Work (SOW) and will be billed at standard hourly rates.