urban-affiliate

byGagan Mahor

Affiliate/creator payout tracking (Rewardful) Affiliate tracking that plugs into Stripe for SaaS companies Boring infrastructure other SaaS companies need; deep integration Rewardful: $120K MRR flowjam build me this micro saas

No preview

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 10

System Requirements Document for urban-affiliate

1. Introduction

The urban-affiliate project aims to develop a micro SaaS solution for affiliate and creator payout tracking, specifically designed for SaaS companies. The product will integrate deeply with Stripe to facilitate seamless tracking and payout processes. It is inspired by Rewardful's model, focusing on providing robust infrastructure that other SaaS companies need.

2. System Overview

The urban-affiliate system is a micro SaaS application that provides affiliate and creator payout tracking for SaaS companies. It integrates with Stripe to manage and track payouts efficiently. The system is designed to be a self-service platform for SaaS company operators and affiliates/creators, offering a comprehensive dashboard and workspaces for managing affiliate programs and payouts.

2a. Product Interpretation and Delivery Boundary

The product is intended for SaaS companies, with a deep integration with Stripe as a core requirement. The system supports operator self-service enrollment, affiliate or creator invitation and acceptance, and returning verification for both roles. Background synchronization of attribution and payout status is automated. The application owns identity management, ensuring secure access and role-based permissions for different user types.

Page 2 of 10

2b. Source Content Inventory

Not applicable as no content_source directive was provided.

2c. Page Content and Component Coverage

Landing

  • Purpose: Public entry surface explaining the product's value and Stripe integration.
  • Components:
    • Overview of affiliate payout tracking features.
    • Explanation of integration with Stripe.
    • Call-to-action for SaaS companies to sign up.

Sign Up

  • Purpose: Self-service enrollment for SaaS company operators.
  • Components:
    • Registration form for operators.
    • Information on starting a payout-tracking account.

Join Program

  • Purpose: Invitation acceptance for affiliates or creators.
  • Components:
    • Invitation link acceptance.
    • Registration form for affiliates/creators.
Page 3 of 10

Login

  • Purpose: Verification for returning users.
  • Components:
    • Login form for operators and affiliates/creators.
    • Password recovery option.

Dashboard

  • Purpose: Operator overview of tracking and payout activities.
  • Components:
    • Summary of affiliate programs.
    • Navigation to detailed workspaces.

Affiliates

  • Purpose: Management of affiliate and creator participants.
  • Components:
    • List of affiliates/creators.
    • Options to add or edit participants.

Affiliate Details

  • Purpose: Configuration of affiliate relationships and tracking.
  • Components:
    • Detailed view of individual affiliate/creator.
    • Tracking configuration settings.
Page 4 of 10

Payouts

  • Purpose: Review of payouts and Stripe-backed status.
  • Components:
    • List of payouts with status.
    • Details of payout outcomes.

Integrations

  • Purpose: Management of Stripe integration.
  • Components:
    • Connection status with Stripe.
    • Options to update integration settings.

Earnings

  • Purpose: Display of tracked earnings for affiliates/creators.
  • Components:
    • Earnings summary.
    • Attribution results and payout status.
Page 5 of 10

3. Functional Requirements

  • As a SaaS company operator, I should be able to enroll in the system to start tracking affiliate payouts. (explicit)
  • As a SaaS company operator, I should be able to manage affiliate and creator participants. (explicit)
  • As a SaaS company operator, I should be able to view and configure affiliate relationships. (explicit)
  • As a SaaS company operator, I should be able to review payout statuses and outcomes. (explicit)
  • As a SaaS company operator, I should be able to manage Stripe integration settings. (explicit)
  • As an affiliate or creator, I should be able to join a program via an invitation. (required_inference)
  • As an affiliate or creator, I should be able to view my earnings and payout status. (required_inference)
  • As a user, I should be able to log in to access my respective dashboard. (required_inference)

4. User Personas

SaaS Company Operator

  • Context: Manages affiliate and creator payout tracking for a SaaS business.
  • Primary Goal: To efficiently track and manage payouts through a Stripe-integrated system.
  • Responsibilities: Enroll in the system, manage participants, configure relationships, review payouts, and maintain Stripe integration.
  • Interactions: Engages with affiliates/creators and monitors payout processes.
  • Success: Seamless management of affiliate programs and accurate payout tracking.

Affiliate or Creator

  • Context: Participates in affiliate programs to earn payouts based on performance.
  • Primary Goal: To understand attributed performance and receive accurate earnings information.
  • Responsibilities: Accept program invitations, track earnings, and monitor payout status.
  • Interactions: Engages with the system to view earnings and payout details.
  • Success: Accurate and timely receipt of earnings and payout information.
Page 6 of 10

5. Core User Flows

5.1 SaaS Company Operator Enrollment

  1. Start: Operator visits the Landing page.
  2. Action: Clicks on the sign-up call-to-action.
  3. Page: Redirected to the Sign Up page.
  4. Action: Completes the registration form.
  5. Result: Account is created, and the operator is logged in.
  6. Next Step: Redirected to the Dashboard.

5.2 Affiliate/Creator Program Joining

  1. Start: Affiliate/creator receives an invitation link.
  2. Action: Clicks on the link.
  3. Page: Redirected to the Join Program page.
  4. Action: Completes the registration form.
  5. Result: Affiliate/creator is registered and logged in.
  6. Next Step: Redirected to the Earnings page.
Page 7 of 10

5.3 Operator Managing Affiliates

  1. Start: Operator logs in and accesses the Dashboard.
  2. Action: Navigates to the Affiliates page.
  3. Page: Views list of affiliates/creators.
  4. Action: Selects an affiliate to view details.
  5. Page: Redirected to the Affiliate Details page.
  6. Result: Can edit or configure tracking settings.
  7. Next Step: Saves changes and returns to the Affiliates page.

5.4 Reviewing Payouts

  1. Start: Operator logs in and accesses the Dashboard.
  2. Action: Navigates to the Payouts page.
  3. Page: Views list of payouts with statuses.
  4. Action: Selects a payout to view details.
  5. Result: Reviews payout outcomes and Stripe status.
  6. Next Step: Returns to the Dashboard.
Page 8 of 10

6. Visuals Colors and Theme

  • Muse: Rasmus Andersson
  • Palette:
    • Background: #F6F3EE
    • Surface: #FFFFFF
    • Text: #141517
    • Primary: #E94E77
    • Accent: #F8C630
    • Muted: #D8D8D8
  • Typography:
    • Headings: Space Grotesk — Bold, all-caps
    • Body: Work Sans
    • Scale: 1.2 modular (48/36/24/16)
  • Shape Language: Compact, modular design
  • Layout: 4/8-pt spacing scale
  • Motion: Fast, functional transitions

7. Signature Design Concept

The Landing page will feature a full-width editorial grid with oversized typography in Space Grotesk, set against a warm off-white background. The primary hot pink color will highlight key interactive components, creating a bold and vibrant first impression.

Page 9 of 10

8. Interaction Model & Motion Direction

  • Interaction Model: Static
  • Motion Tempo: Restrained
  • Hero Dimensionality: Flat
  • Landing Hero Motion Brief: The hero section will feature oversized typography with a bold pink highlight, creating a strong visual impact without motion. The design will focus on clarity and functionality.

9. Non-Functional Requirements

  • Integration: Must integrate deeply with Stripe for payment processing.
  • Performance: The system should handle concurrent user sessions efficiently.
  • Security: Ensure secure handling of user data and Stripe transactions.

10. Tech Stack

  • Frontend: React
  • Backend: Python/FastAPI
  • Payment Integration: Stripe
  • Containerization: Docker/docker-compose
  • Deployment: Kubernetes (if required)

11. Assumptions and Constraints

  • The product is exclusively for SaaS companies.
  • Stripe is the only supported payment integration.
  • The system must follow the Rewardful model for affiliate tracking.
Page 10 of 10

12. Glossary

  • Affiliate: An individual or entity that promotes a company's products in exchange for a commission.
  • Creator: An individual who creates content or products and participates in affiliate programs.
  • Payout: The process of distributing earnings to affiliates or creators.
  • Stripe: A payment processing platform used for managing transactions.

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: View product overview
Join Program: Accept invitation link
Join Program: Complete registration form
Login: Log in returning affiliate
Earnings: View earnings summary
Earnings: View attribution results
Payouts: View payout status

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: View product overview
Join Program: Accept invitation link
Join Program: Complete registration form
Login: Log in returning affiliate
Earnings: View earnings summary
Earnings: View attribution results
Payouts: View payout status