garnet-saas

bySubhashree Priyadarshini

## SaaS idea Build a **white-label monthly reporting portal for small SEO agencies**. It connects to Google Search Console and GA4, converts the data into an easy-to-understand report, and sends it to the agency’s clients under the agency’s own branding. Existing tools already charge agencies—for example, DashThis is listed from $44/month and AgencyAnalytics from roughly $20 per client/month—so there is evidence that agencies pay for this category. [tryatria](https://www.tryatria.com/blog/best-agency-reporting-tools) ## Problems it solves ### 1. Manual report preparation Agencies often export data from multiple platforms, clean spreadsheets, create charts, write explanations, and format PDFs every month. Your product automates that repetitive work. ### 2. Data is difficult for clients to understand Clients usually do not care about impressions, sessions, or bounce rate by themselves. They want to know: - What improved? - What declined? - Did marketing produce leads? - What should we do next? The software translates raw metrics into simple business explanations. ### 3. Agencies look less professional Sending spreadsheets or screenshots can make an agency look disorganized. A branded portal with the agency’s logo, colors, domain, and email makes the agency appear more established. White-label branding, automated reporting, understandable dashboards, and multi-channel integrations are considered core requirements in this category. [fanruan](https://www.fanruan.com/en/blog/best-agency-reporting-tools) ### 4. Clients do not see the agency’s value A client may cancel because they cannot see the connection between marketing activity and results. Your reports can highlight: - Traffic growth. - Ranking improvements. - Leads and conversions. - Top-performing pages. - Lost opportunities. - Month-over-month progress. ### 5. Reports are sent late or inconsistently Automated scheduling ensures that every client receives a report on a fixed date, even when the agency team is busy. ### 6. Agencies use too many disconnected tools SEO data, analytics, advertising data, and CRM results often live in separate systems. A unified report reduces the need to switch between platforms. Multi-platform reporting and scheduled delivery are standard expectations in existing agency tools. [thedigitalprojectmanager](https://thedigitalprojectmanager.com/tools/best-agency-reporting-software/) ## Main feature The main feature should be: > **One-click generation of a branded, client-ready monthly performance report.** The workflow could be: 1. The agency connects Google Search Console and GA4. 2. It selects a client and report template. 3. The system compares the current month with the previous month. 4. It identifies important changes. 5. It writes a plain-English summary. 6. The agency reviews the report. 7. The system sends a branded PDF or client portal link automatically. Example generated insight: > “Organic clicks increased 22% this month, mainly from the service pages targeting ‘commercial interior design.’ Leads increased only 4%, so the next recommended action is improving the contact form on those pages.” ## Minimum viable product Do not initially build a full alternative to AgencyAnalytics or Databox. Start with: - Google Search Console integration. - GA4 integration. - Client and workspace management. - Month-over-month comparisons. - Five report templates. - AI-generated summaries. - PDF export. - Scheduled email delivery. - Agency logo, colors, and custom sender name. Add Google Ads, Meta Ads, CRM integrations, custom domains, and live dashboards only after customers request them. ## Rough revenue potential A practical initial pricing model could be: | Customers | Average price | Monthly revenue | Annualized revenue | |---:|---:|---:|---:| | 10 agencies | $79/month | $790 | $9,480 | | 25 agencies | $99/month | $2,475 | $29,700 | | 50 agencies | $149/month | $7,450 | $89,400 | | 100 agencies | $199/month | $19,900 | $238,800 | | 250 agencies | $249/month | $62,250 | $747,000 | These are scenario estimates, not guaranteed outcomes. The realistic target for a solo founder would be approximately **$2,000–$10,000 MRR** after finding a specific agency niche and reliable acquisition channel. Reaching $20,000+ MRR would likely require stronger integrations, sales, support, and a more complete client portal. ## Best positioning Avoid saying: > “An AI marketing dashboard for everyone.” Say: > **“Automated SEO reports for agencies with 5–30 clients.”** That positioning is narrower, easier to market, and easier to build. Your strongest advantage should be reports that are **ready to send**, not dashboards with hundreds of charts. The main risk is competition: established tools already offer white-label portals, integrations, templates, and scheduled reports. Therefore, win through a narrow segment such as Indian SEO agencies, local-service marketing agencies, or agencies serving dentists and clinics—not through generic features. Build me this micro saas.

Client ManagementEmail DeliveryReport Templates
Client Management

Comments (0)

No comments yet. Be the first!

Project Tasks

18
#1

Identity Access Management

To Do

Implement application-owned identity management to ensure secure access for agencies and their clients. Implementation contract: - Outcome: Identity Access Management - Requirement sources: - src-53e272b4aad94007 - src-a34716b959ea4f9f - src-7dcfb9e6a4907f61 - src-bdc628fd9d4a6736 - src-1b64ab0f396c1206 - src-96714924f6812766 - src-0341ee02feb0d78d - Owned behavior: - Implement application-owned identity management to ensure secure access for agencies and their clients. - Provide authoritative application identity, session, and current-user access state - Provide authoritative application identity, session, and current-user access state. - Interfaces: - API for authentication and session management - Provide identity.access.management: Provide authoritative application identity, session, and current-user access state. - State transitions: - User login, session creation, and logout - Failure and safety behavior: - Unauthorized access, session expiration - Use authoritative session/current-user state, enforce access server-side, and fail closed without exposing prototype identity data. Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - Users can securely log in and manage sessions - Capability identity.access.management implements Provide authoritative application identity, session, and current-user access state. and is verified through its declared interfaces.

AI 30%
Human 70%
High Priority
3 days
Backend Developer
#2

Google Search Console Integration

To Do

Integrate with Google Search Console for data collection. Implementation contract: - Outcome: Google Search Console Integration - Requirement sources: - src-fb0f7fda20683fd6 - src-c5632063eac8142d - src-0c314d0cebf3ea9a - src-d3679f733b41dcaf - src-e4b75bfa2c7eabb4 - src-060591b14d96b582 - src-2dba06b1f45779ce - Owned behavior: - Connect to Google Search Console API and retrieve data - Connect Google Search Console and GA4 (SEO Agency) — trigger: Connect Google Search Console and GA4; outcomes: Connect Google Search Console and GA4 - Integrate with Google Search Console for data collection. - Interfaces: - Google Search Console API - Provide integration.google.search.console: Integrate with Google Search Console for data collection. - State transitions: - Data retrieval and storage - When Connect Google Search Console and GA4: Connect Google Search Console and GA4 - Failure and safety behavior: - API rate limits, authentication errors - Web research: - Google Search Console API documentation - RESEARCH BLOCKER: No primary provider, authentication, or contract detail is confirmed by official Google Search Console API documentation link or explicit API reference. Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - Data is successfully retrieved and stored - When Connect Google Search Console and GA4, SEO Agency produces Connect Google Search Console and GA4. - Capability integration.google.search.console implements Integrate with Google Search Console for data collection. and is verified through its declared interfaces.

AI 40%
Human 60%
High Priority
4 days
Backend Developer
#3

GA4 Integration

To Do

Integrate with Google Analytics 4 for data collection. Implementation contract: - Outcome: GA4 Integration - Requirement sources: - src-fb0f7fda20683fd6 - src-c5632063eac8142d - src-0c314d0cebf3ea9a - src-2dba06b1f45779ce - src-e4b75bfa2c7eabb4 - src-060591b14d96b582 - src-d3679f733b41dcaf - Owned behavior: - Connect to GA4 API and retrieve data - Connect Google Search Console and GA4 (SEO Agency) — trigger: Connect Google Search Console and GA4; outcomes: Connect Google Search Console and GA4 - Integrate with Google Analytics 4 for data collection. - Interfaces: - GA4 API - Provide integration.ga4: Integrate with Google Analytics 4 for data collection. - State transitions: - Data retrieval and storage - When Connect Google Search Console and GA4: Connect Google Search Console and GA4 - Failure and safety behavior: - API rate limits, authentication errors - Validate provider configuration and credentials, handle provider errors explicitly, and never report an unconfirmed external action as successful. - Web research: - Google Analytics 4 API documentation - RESEARCH BLOCKER: No primary provider, authentication, or contract detail is confirmed by official Google Analytics 4 API documentation link or explicit API reference. Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - Data is successfully retrieved and stored - When Connect Google Search Console and GA4, SEO Agency produces Connect Google Search Console and GA4. - Capability integration.ga4 implements Integrate with Google Analytics 4 for data collection. and is verified through its declared interfaces.

AI 40%
Human 60%
High Priority
4 days
Backend Developer
#5

Month-over-Month Comparison

To Do

Implement month-over-month comparison for reporting. Implementation contract: - Outcome: Month-over-Month Comparison - Requirement sources: - src-fb0f7fda20683fd6 - src-e5ba1ce2c9c1a83f - src-1336f55b2aafd0f1 - src-e5f2c7ea85344836 - src-0fb57965f8e14db0 - src-0c314d0cebf3ea9a - src-d2bd2741af25349c - Owned behavior: - Implement month-over-month comparison for reporting. - Calculate and store month-over-month data - Compare current month with previous month (system) — trigger: Compare current month with previous month; outcomes: Compare current month with previous month - Compare current month with previous month for reporting. - Interfaces: - Internal service for data comparison - Provide report.month.over.month: Compare current month with previous month for reporting. - State transitions: - Data comparison and storage - When Compare current month with previous month: Compare current month with previous month - Failure and safety behavior: - Data inconsistency, calculation errors Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - Comparison data is accurate and stored correctly - When Compare current month with previous month, system produces Compare current month with previous month. - Capability report.month.over.month implements Compare current month with previous month for reporting. and is verified through its declared interfaces.

AI 40%
Human 60%
Medium Priority
2 days
Backend Developer
#6

AI-Generated Summaries

To Do

Implement AI-generated summaries for reports. Implementation contract: - Outcome: AI-Generated Summaries - Requirement sources: - src-fb0f7fda20683fd6 - src-b7e3a9332365e7de - src-1336f55b2aafd0f1 - src-0e4ae9fad2db1c54 - src-0c314d0cebf3ea9a - src-e5f2c7ea85344836 - src-d2bd2741af25349c - Owned behavior: - Implement AI-generated summaries for reports. - Generate summaries using AI models - Identify important changes and generate summary (system) — trigger: Identify important changes and generate summary; outcomes: Identify important changes and generate summary - Generate AI-based summaries for reports. - Interfaces: - AI model API - Provide summary.ai.generated: Generate AI-based summaries for reports. - State transitions: - Summary generation and storage - When Identify important changes and generate summary: Identify important changes and generate summary - Failure and safety behavior: - Model errors, data input issues - Validate AI inputs/outputs, define safety and provider-failure behavior, and make latency, cost, and result persistence observable where required. Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - Summaries are generated accurately and stored - When Identify important changes and generate summary, system produces Identify important changes and generate summary. - Capability summary.ai.generated implements Generate AI-based summaries for reports. and is verified through its declared interfaces.

AI 50%
Human 50%
Medium Priority
3 days
AI Engineer
#7

PDF Export

To Do

Implement PDF export functionality for reports. Implementation contract: - Outcome: PDF Export - Requirement sources: - src-fb0f7fda20683fd6 - Owned behavior: - Implement PDF export functionality for reports. - Generate and export PDF reports - Export reports as PDF documents. - Interfaces: - PDF generation library - Provide export.pdf: Export reports as PDF documents. - State transitions: - PDF creation and download - Failure and safety behavior: - Export errors, formatting issues Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - PDFs are generated and downloadable - Capability export.pdf implements Export reports as PDF documents. and is verified through its declared interfaces.

AI 30%
Human 70%
Medium Priority
2 days
Backend Developer
#11

Implement Shared Footer

To Do

As a Frontend Developer, implement the shared Footer component from its approved JSX/CSS design and reuse it across all declared pages without duplicating local variants. Implementation contract: - Outcome: Implement Shared Footer - Owned behavior: - As a Frontend Developer, implement the shared Footer component from its approved JSX/CSS design and reuse it across all declared pages without duplicating local variants. - Implement shared design sections: Footer. Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - The shared Footer component renders once and is reused by every declared consuming page.

AI 90%
Human 10%
High Priority
0.5 days
Frontend Developer
#18

Implement the accepted behavior Select client and report template with authoritative outcomes and failure handling

To Do

Implement and verify the project capability `accepted.behavior.013ff69c91c685c4` required by generated downstream tasks. Expose a stable implementation contract and satisfy every linked consumer without frontend mocks. Implementation contract: - Outcome: Implement the accepted behavior Select client and report template with authoritative outcomes and failure handling - Requirement sources: - src-a4f4030358e4a422 - src-0c314d0cebf3ea9a - src-16e02b276e1c5cbf - src-b9095787f0c782a6 - src-96714924f6812766 - src-60666c010cb45713 - src-22080a40a1888543 - Owned behavior: - Implement and verify the project capability `accepted.behavior.013ff69c91c685c4` required by generated downstream tasks. Expose a stable implementation contract and satisfy every linked consumer without frontend mocks. - Implement and expose capability accepted.behavior.013ff69c91c685c4. - Select client and report template (SEO Agency) — trigger: Select client and report template; outcomes: Select client and report template - Implement the accepted behavior Select client and report template with authoritative outcomes and failure handling. - Interfaces: - Provide accepted.behavior.013ff69c91c685c4. - Provide accepted.behavior.013ff69c91c685c4: Implement the accepted behavior Select client and report template with authoritative outcomes and failure handling. - State transitions: - When Select client and report template: Select client and report template Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - Capability accepted.behavior.013ff69c91c685c4 has one active implementation owner and every declared consumer can use its verified interface. - When Select client and report template, SEO Agency produces Select client and report template. - Capability accepted.behavior.013ff69c91c685c4 implements Implement the accepted behavior Select client and report template with authoritative outcomes and failure handling. and is verified through its declared interfaces.

AI 80%
Human 20%
High Priority
2 days
Backend Developer
#19

Implement the accepted behavior Client and workspace management with authoritative outcomes and failure handling

To Do

Implement and verify the project capability `accepted.behavior.616e102fe2f58d80` required by generated downstream tasks. Expose a stable implementation contract and satisfy every linked consumer without frontend mocks. Implementation contract: - Outcome: Implement the accepted behavior Client and workspace management with authoritative outcomes and failure handling - Requirement sources: - src-b06dd40c7a062f63 - src-0c314d0cebf3ea9a - src-16e02b276e1c5cbf - src-1b64ab0f396c1206 - src-ed0f5eda8dfb1f0d - src-41e6bbd6a994abf6 - Owned behavior: - Implement and verify the project capability `accepted.behavior.616e102fe2f58d80` required by generated downstream tasks. Expose a stable implementation contract and satisfy every linked consumer without frontend mocks. - Implement and expose capability accepted.behavior.616e102fe2f58d80. - Client and workspace management (System) — trigger: Client and workspace management; outcomes: Client and workspace management - Implement the accepted behavior Client and workspace management with authoritative outcomes and failure handling. - Interfaces: - Provide accepted.behavior.616e102fe2f58d80. - Provide accepted.behavior.616e102fe2f58d80: Implement the accepted behavior Client and workspace management with authoritative outcomes and failure handling. - State transitions: - When Client and workspace management: Client and workspace management Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - Capability accepted.behavior.616e102fe2f58d80 has one active implementation owner and every declared consumer can use its verified interface. - When Client and workspace management, System produces Client and workspace management. - Capability accepted.behavior.616e102fe2f58d80 implements Implement the accepted behavior Client and workspace management with authoritative outcomes and failure handling. and is verified through its declared interfaces.

AI 80%
Human 20%
High Priority
2 days
Backend Developer
#20

Implement the accepted behavior Agency logo, colors, and custom sender name with authoritative outcomes and failure handling

To Do

Implement and verify the project capability `accepted.behavior.c7eeec1bef033b26` required by generated downstream tasks. Expose a stable implementation contract and satisfy every linked consumer without frontend mocks. Implementation contract: - Outcome: Implement the accepted behavior Agency logo, colors, and custom sender name with authoritative outcomes and failure handling - Requirement sources: - src-fd974a6610ae70aa - src-0c314d0cebf3ea9a - src-04c9aeaf18e719ee - src-892e6c65f926b517 - src-0341ee02feb0d78d - src-2e22ad7d833258a8 - src-5a3de60c057c1396 - Owned behavior: - Implement and verify the project capability `accepted.behavior.c7eeec1bef033b26` required by generated downstream tasks. Expose a stable implementation contract and satisfy every linked consumer without frontend mocks. - Implement and expose capability accepted.behavior.c7eeec1bef033b26. - Agency logo, colors, and custom sender name (System) — trigger: Agency logo, colors, and custom sender name; outcomes: Agency logo, colors, and custom sender name - Implement the accepted behavior Agency logo, colors, and custom sender name with authoritative outcomes and failure handling. - Interfaces: - Provide accepted.behavior.c7eeec1bef033b26. - Provide accepted.behavior.c7eeec1bef033b26: Implement the accepted behavior Agency logo, colors, and custom sender name with authoritative outcomes and failure handling. - State transitions: - When Agency logo, colors, and custom sender name: Agency logo, colors, and custom sender name Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - Capability accepted.behavior.c7eeec1bef033b26 has one active implementation owner and every declared consumer can use its verified interface. - When Agency logo, colors, and custom sender name, System produces Agency logo, colors, and custom sender name. - Capability accepted.behavior.c7eeec1bef033b26 implements Implement the accepted behavior Agency logo, colors, and custom sender name with authoritative outcomes and failure handling. and is verified through its declared interfaces.

AI 80%
Human 20%
High Priority
2 days
Backend Developer
#8

Scheduled Email Delivery

To Do

Implement scheduled email delivery for reports. Implementation contract: - Outcome: Scheduled Email Delivery - Requirement sources: - src-fb0f7fda20683fd6 - src-a148a26e588f7374 - src-bdc628fd9d4a6736 - src-99b6cc1fea8998e4 - src-d062996de75c2161 - src-2d8f79c7bb39154a - src-300ea862a73e4ac1 - src-ba1cc7ff9daff68e - src-50377f394a6018d1 - src-79bdd59700a255bb - src-0ec8fca2e9643f3f - src-cd51bc0d44f4e9e9 - 12 additional source record(s) are retained in the structured implementation contract. - Owned behavior: - Implement scheduled email delivery for reports. - Schedule and send emails with reports - Review and send branded report (SEO Agency) — trigger: Review and send branded report; outcomes: Review and send branded report - Schedule and send reports via email. - Interfaces: - Email service API - Provide delivery.scheduled.email: Schedule and send reports via email. - Consume identity.access.management: Provide authoritative application identity, session, and current-user access state. - State transitions: - Email scheduling and sending - When Review and send branded report: Review and send branded report - Failure and safety behavior: - Email delivery failures, scheduling errors - Track delivery state, retries, provider failures, and duplicate suppression without claiming delivery before provider acknowledgement. - Web research: - RESEARCH BLOCKER: No provider or contract for email delivery is specified in official documentation; delivery mechanism is unresolved. Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - Emails are sent on schedule with correct reports - When Review and send branded report, SEO Agency produces Review and send branded report. - Capability delivery.scheduled.email implements Schedule and send reports via email. and is verified through its declared interfaces. - Capability identity.access.management implements Provide authoritative application identity, session, and current-user access state. and is verified through its declared interfaces.

Depends on:#1
Waiting for dependencies
AI 30%
Human 70%
Medium Priority
3 days
Backend Developer
#10

Implement Shared Navbar

To Do

As a Frontend Developer, implement the shared Navbar component from its approved JSX/CSS design and reuse it across all declared pages without duplicating local variants. Implementation contract: - Outcome: Implement Shared Navbar - Owned behavior: - As a Frontend Developer, implement the shared Navbar component from its approved JSX/CSS design and reuse it across all declared pages without duplicating local variants. - Implement shared design sections: ClientManagementHeader, Navbar. Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - The shared Navbar component renders once and is reused by every declared consuming page.

Depends on:#11
Waiting for dependencies
AI 90%
Human 10%
High Priority
1 day
Frontend Developer
#12

Implement Client Management page

To Do

As a Frontend Developer, implement the approved Client Management page design and the task-owned sections below. Implementation contract: - Outcome: Implement Client Management page - Requirement sources: - src-b06dd40c7a062f63 - src-0c314d0cebf3ea9a - src-16e02b276e1c5cbf - src-fb0f7fda20683fd6 - src-a4f4030358e4a422 - src-fd974a6610ae70aa - src-a34716b959ea4f9f - src-372167655536e057 - src-3f471233371d1261 - src-de03ba18f74bf292 - src-94df2def12eddc36 - src-14449870dddc269f - 16 additional source record(s) are retained in the structured implementation contract. - Owned behavior: - Client and workspace management - Client and workspace management (System) — trigger: Client and workspace management; outcomes: Client and workspace management - Manage clients and workspaces within the application. - Interfaces: - CRUD operations for clients - workspace management - Provide management.client.workspace: Manage clients and workspaces within the application. - Consume identity.access.management: Provide authoritative application identity, session, and current-user access state. - Consume accepted.behavior.013ff69c91c685c4: Implement the accepted behavior Select client and report template with authoritative outcomes and failure handling. - Consume accepted.behavior.616e102fe2f58d80: Implement the accepted behavior Client and workspace management with authoritative outcomes and failure handling. - State transitions: - Client list updates on workspace change - Modal form submission - When Client and workspace management: Client and workspace management - Failure and safety behavior: - Error handling for CRUD operations - Validation errors in modal form Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - ClientList component renders with full CRUD functionality - WorkspaceSelector allows workspace switching - Add/Edit Client Modal functions correctly - Design matches provided CSS - Access restricted to SEO Agency persona - When Client and workspace management, System produces Client and workspace management. - Capability management.client.workspace implements Manage clients and workspaces within the application. and is verified through its declared interfaces. - Capability identity.access.management implements Provide authoritative application identity, session, and current-user access state. and is verified through its declared interfaces. - Capability accepted.behavior.013ff69c91c685c4 implements Implement the accepted behavior Select client and report template with authoritative outcomes and failure handling. and is verified through its declared interfaces. - Capability accepted.behavior.616e102fe2f58d80 implements Implement the accepted behavior Client and workspace management with authoritative outcomes and failure handling. and is verified through its declared interfaces.

Depends on:#11#19#10#18#1
Waiting for dependencies
AI 90%
Human 10%
High Priority
3 days
Frontend Developer
#13

Implement Report Templates page

To Do

As a Frontend Developer, implement the approved Report Templates page design and the task-owned sections below. Implementation contract: - Outcome: Implement Report Templates page - Requirement sources: - src-fb0f7fda20683fd6 - src-a4f4030358e4a422 - src-7dcfb9e6a4907f61 - src-fdebe5390a038aaa - src-7ad2fe926558ad35 - src-3fcc4d7698402703 - src-26a6148649b226ac - src-c6acfb91676b838d - src-f8c01c278010fe6c - src-b9095787f0c782a6 - src-35993f09923c1d90 - src-4ab01c45708c495c - 10 additional source record(s) are retained in the structured implementation contract. - Owned behavior: - Select client and report template - Select client and report template (SEO Agency) — trigger: Select client and report template; outcomes: Select client and report template - Manage and select report templates. - Interfaces: - Provide report.template.management: Manage and select report templates. - Consume identity.access.management: Provide authoritative application identity, session, and current-user access state. - Consume accepted.behavior.013ff69c91c685c4: Implement the accepted behavior Select client and report template with authoritative outcomes and failure handling. - State transitions: - template_selection_state - When Select client and report template: Select client and report template Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - The Report Templates page must render exactly once with the ReportTemplatesHeader and ReportTemplateGrid sections. - The header must display the title 'Report Templates' and a descriptive subtitle. - The grid must display five template cards with selection and preview functionality. - The grid layout must be responsive, adapting from 1 to 3 columns based on viewport size. - Template selection must update the preview panel and track the selected template ID. - Access is restricted to SEO Agency personas, requiring login. - When Select client and report template, SEO Agency produces Select client and report template. - Capability report.template.management implements Manage and select report templates. and is verified through its declared interfaces. - Capability identity.access.management implements Provide authoritative application identity, session, and current-user access state. and is verified through its declared interfaces. - Capability accepted.behavior.013ff69c91c685c4 implements Implement the accepted behavior Select client and report template with authoritative outcomes and failure handling. and is verified through its declared interfaces.

Depends on:#18#11#10#1
Waiting for dependencies
AI 90%
Human 10%
High Priority
2 days
Frontend Developer
#14

Implement BrandingCustomizer section for Report Templates page

To Do

As a Frontend Developer, implement the approved Report Templates page design and the task-owned sections below. Implementation contract: - Outcome: Implement BrandingCustomizer section for Report Templates page - Requirement sources: - src-fd974a6610ae70aa - src-04c9aeaf18e719ee - src-fb0f7fda20683fd6 - src-672ba50cbe1c0ca6 - src-9d8701985a9f9689 - src-51a2fa7a9a0af0e5 - src-892e6c65f926b517 - src-71de7438c8e19b8a - src-b533d0c1a837a012 - src-3f680834803fb7cd - src-0341ee02feb0d78d - src-2e22ad7d833258a8 - 8 additional source record(s) are retained in the structured implementation contract. - Owned behavior: - Agency logo, colors, and custom sender name - Agency logo, colors, and custom sender name (System) — trigger: Agency logo, colors, and custom sender name; outcomes: Agency logo, colors, and custom sender name - Customize branding elements for reports. - Interfaces: - Provide branding.customization: Customize branding elements for reports. - Consume identity.access.management: Provide authoritative application identity, session, and current-user access state. - Consume accepted.behavior.c7eeec1bef033b26: Implement the accepted behavior Agency logo, colors, and custom sender name with authoritative outcomes and failure handling. - State transitions: - When Agency logo, colors, and custom sender name: Agency logo, colors, and custom sender name - Failure and safety behavior: - File size and format validation errors Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - BrandingCustomizer renders once on Report Templates page - Logo upload control with drag-and-drop and file picker - Color pickers for primary and secondary colors - Text input for custom sender name - Live preview updates in real-time - Save/apply button persists settings - Reset button reverts to defaults - Accessible to SEO Agency users only - When Agency logo, colors, and custom sender name, System produces Agency logo, colors, and custom sender name. - Capability branding.customization implements Customize branding elements for reports. and is verified through its declared interfaces. - Capability identity.access.management implements Provide authoritative application identity, session, and current-user access state. and is verified through its declared interfaces. - Capability accepted.behavior.c7eeec1bef033b26 implements Implement the accepted behavior Agency logo, colors, and custom sender name with authoritative outcomes and failure handling. and is verified through its declared interfaces.

Depends on:#1#11#20#10
Waiting for dependencies
AI 90%
Human 10%
High Priority
2 days
Frontend Developer
#15

Implement Email Delivery page

To Do

As a Frontend Developer, implement the approved Email Delivery page design and the task-owned sections below. Implementation contract: - Outcome: Implement Email Delivery page - Requirement sources: - src-99b6cc1fea8998e4 - src-d062996de75c2161 - src-53e272b4aad94007 - src-a34716b959ea4f9f - src-7dcfb9e6a4907f61 - src-bdc628fd9d4a6736 - src-1b64ab0f396c1206 - src-96714924f6812766 - src-0341ee02feb0d78d - Owned behavior: - Display page title and description - Interfaces: - Consume identity.access.management: Provide authoritative application identity, session, and current-user access state. Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - The Email Delivery page must render the EmailDeliveryHeader section exactly once. - The section must display the title 'Email Delivery' and description 'Schedule and manage automated email delivery of reports to your clients'. - The design must adhere to the provided CSS styles, ensuring responsiveness across different screen sizes. - The page must be accessible to the SEO Agency persona, requiring login as specified in the access context. - Capability identity.access.management implements Provide authoritative application identity, session, and current-user access state. and is verified through its declared interfaces.

Depends on:#11#10#1
Waiting for dependencies
AI 90%
Human 10%
Medium Priority
0.5 days
Frontend Developer
#16

Implement Email Delivery Manager section

To Do

As a Frontend Developer, implement the approved Email Delivery page design and the task-owned sections below. Implementation contract: - Outcome: Implement Email Delivery Manager section - Requirement sources: - src-2d8f79c7bb39154a - src-300ea862a73e4ac1 - src-fb0f7fda20683fd6 - src-a148a26e588f7374 - src-bdc628fd9d4a6736 - src-99b6cc1fea8998e4 - src-d062996de75c2161 - src-ba1cc7ff9daff68e - src-50377f394a6018d1 - src-79bdd59700a255bb - src-0ec8fca2e9643f3f - src-cd51bc0d44f4e9e9 - 12 additional source record(s) are retained in the structured implementation contract. - Owned behavior: - CRUD operations for scheduled reports - Delivery preview simulation - Status toggle and confirmation dialogs - Review and send branded report (SEO Agency) — trigger: Review and send branded report; outcomes: Review and send branded report - Interfaces: - Backend API for report management - Consume delivery.scheduled.email: Schedule and send reports via email. - Consume identity.access.management: Provide authoritative application identity, session, and current-user access state. - State transitions: - Toggle report status - Delete report with confirmation - When Review and send branded report: Review and send branded report - Failure and safety behavior: - Form validation errors - API call failures - Web research: - RESEARCH BLOCKER: No provider or contract for email delivery is specified in official documentation; delivery mechanism is unresolved. Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - Observable task-owned checks - When Review and send branded report, SEO Agency produces Review and send branded report. - Capability delivery.scheduled.email implements Schedule and send reports via email. and is verified through its declared interfaces. - Capability identity.access.management implements Provide authoritative application identity, session, and current-user access state. and is verified through its declared interfaces.

Depends on:#11#1#10#8
Waiting for dependencies
AI 90%
Human 10%
High Priority
3 days
Frontend Developer
#17

Implement BrandingCustomization section for Email Delivery page

To Do

As a Frontend Developer, implement the approved Email Delivery page design and the task-owned sections below. Implementation contract: - Outcome: Implement BrandingCustomization section for Email Delivery page - Requirement sources: - src-fd974a6610ae70aa - src-04c9aeaf18e719ee - src-53e272b4aad94007 - src-a34716b959ea4f9f - src-7dcfb9e6a4907f61 - src-bdc628fd9d4a6736 - src-1b64ab0f396c1206 - src-96714924f6812766 - src-0341ee02feb0d78d - src-0c314d0cebf3ea9a - src-892e6c65f926b517 - src-2e22ad7d833258a8 - 1 additional source record(s) are retained in the structured implementation contract. - Owned behavior: - Upload logo - Set sender name - Customize email colors - Save branding - Interfaces: - Consume identity.access.management: Provide authoritative application identity, session, and current-user access state. - Consume accepted.behavior.c7eeec1bef033b26: Implement the accepted behavior Agency logo, colors, and custom sender name with authoritative outcomes and failure handling. - State transitions: - Persist branding settings globally - Failure and safety behavior: - Invalid file type or size - Empty sender name Acceptance criteria: - The task-owned behavior is implemented and verified without undeclared mocks or downstream assumptions. - BrandingCustomization section renders on Email Delivery page - Logo upload with preview - Custom sender name input - Email color customization - Branding preview reflects current settings - Save button persists changes and shows success message - Capability identity.access.management implements Provide authoritative application identity, session, and current-user access state. and is verified through its declared interfaces. - Capability accepted.behavior.c7eeec1bef033b26 implements Implement the accepted behavior Agency logo, colors, and custom sender name with authoritative outcomes and failure handling. and is verified through its declared interfaces.

Depends on:#10#20#11#1
Waiting for dependencies
AI 90%
Human 10%
High Priority
2 days
Frontend Developer
Client Management design preview
Generated report handoff: Agency Client receives branded PDF or client portal link
Client Management design preview
Generated report handoff: Agency Client receives branded PDF or client portal link