| Day | Task | Start Date | Completion Date | Reference Material |
|---|---|---|---|---|
| 2 | - Set up the project foundation + Initialize the docuflow-ai monorepo (pnpm workspaces)+ Scaffold the AWS SAM root template and samconfig.toml+ Configure ESLint/Prettier and shared tsconfig | 06/15/2026 | 06/15/2026 | AWS SAM pnpm workspaces |
| 3 | - Build the identity layer + Create the Cognito User Pool with end-user, reviewer, admin groups+ Configure the app client and hosted sign-in + Wire the Cognito authorizer for API Gateway | 06/16/2026 | 06/16/2026 | Cognito User Pools API Gateway Cognito Authorizer |
| 4 | - Build the storage layer + Create docuflow-raw and docuflow-processed S3 buckets (Block Public Access, SSE-KMS)+ Create the DynamoDB Documents table (PK documentId, GSI on userId+status)+ Apply S3 lifecycle rules | 06/17/2026 | 06/17/2026 | S3 Block Public Access DynamoDB Secondary Indexes |
| 5 | - Build the upload API + Create the API Gateway REST API and POST /uploads route+ Implement the presignUpload Lambda (Node.js 20.x)+ Generate short-lived presigned URLs and write the UPLOADED item to DynamoDB | 06/18/2026 | 06/18/2026 | S3 Presigned URL Upload Lambda Node.js |
| 6 | - Build frontend hosting and auth + Scaffold the React + Vite SPA + Host the build in a private S3 bucket served via CloudFront with Origin Access Control + Implement Cognito login and the upload page | 06/19/2026 | 06/19/2026 | CloudFront Origin Access Control amazon-cognito-identity-js |
| 7 | - Integrate and verify the upload flow + Connect frontend → POST /uploads → presigned URL → S3 PUT+ Confirm the UPLOADED status in DynamoDB+ Deploy the consolidated SAM stack and capture evidence | 06/20/2026 | 06/20/2026 | SAM CLI Deploy |
Stood up the DocuFlow AI project foundation:
docuflow-ai monorepo with pnpm workspaces (apps/, packages/, services/, infrastructure/).tsconfig across the workspace.Built the identity layer with Amazon Cognito:
end-user, reviewer, and admin groups.Built the storage layer:
docuflow-raw bucket (Block Public Access, SSE-KMS, 60-day expiry) and the docuflow-processed bucket (versioning, STANDARD-IA after 30 days).Documents table with PK documentId and a GSI on userId+status for the user dashboard.Built the secure upload API:
POST /uploads route behind the Cognito authorizer.presignUpload Lambda (Node.js 20.x, 256 MB) that generates a documentId, writes the UPLOADED item to DynamoDB, and returns a short-lived presigned URL scoped to docuflow-raw/{userId}/{documentId}.{ext}.Built the frontend hosting and auth:
Verified the end-to-end upload flow:
UPLOADED status is recorded in DynamoDB.