simple-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 simple-affiliate

1. Introduction

The simple-affiliate project is a micro SaaS solution designed to provide affiliate and creator payout tracking for SaaS companies. It integrates deeply with Stripe to facilitate seamless tracking and payout processes. The product aims to serve as a reliable infrastructure component for SaaS businesses, ensuring efficient management of affiliate programs and payouts.

2. System Overview

The simple-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 reliable infrastructure component, offering deep integration capabilities that other SaaS companies can leverage.

2a. Product Interpretation and Delivery Boundary

The product is intended exclusively for SaaS companies, with a deep integration requirement with Stripe. It supports affiliate tracking and payout management, providing a self-service enrollment for operators and an invitation-based system for affiliates or creators. The system includes background synchronization for attribution and payout status, ensuring up-to-date information for all users. The application is designed with custom UI elements, adhering to the principles of functional clarity inspired by Dieter Rams.

Page 2 of 10

2b. Source Content Inventory

Not applicable as no explicit content_source directive is provided.

2c. Page Content and Component Coverage

Landing

  • Purpose: Introduce the affiliate payout-tracking product for SaaS companies.
  • Components:
    • Overview of the product and its benefits.
    • Explanation of Stripe integration.
    • Call-to-action for operators to sign up.

Sign Up

  • Purpose: Allow SaaS company operators to enroll in the service.
  • Components:
    • Registration form for operators.
    • Information on creating an account.
    • Confirmation and next steps.

Join Program

  • Purpose: Enable affiliates or creators to join a tracked program.
  • Components:
    • Invitation acceptance form.
    • Details of the program and terms.
    • Confirmation of joining.
Page 3 of 10

Login

  • Purpose: Provide access for returning users.
  • Components:
    • Login form for operators and affiliates/creators.
    • Password recovery option.
    • Access to the dashboard upon successful login.

Dashboard

  • Purpose: Offer an overview of tracking and payout activities for operators.
  • Components:
    • Summary of affiliate activities.
    • Payout status and history.
    • Navigation to other workspaces.

Affiliates

  • Purpose: Manage affiliate and creator participants.
  • Components:
    • List of affiliates and creators.
    • Options to add, edit, or remove participants.
    • Tracking records and performance metrics.

Affiliate Details

  • Purpose: Configure and manage individual affiliate relationships.
  • Components:
    • Detailed view of an affiliate's profile.
    • Configuration options for tracking.
    • Save and update functionality.
Page 4 of 10

Payouts

  • Purpose: Review and manage payouts.
  • Components:
    • List of payouts with status.
    • Integration with Stripe for payout processing.
    • Detailed payout history and outcomes.

Integrations

  • Purpose: Manage Stripe integration.
  • Components:
    • Connection status with Stripe.
    • Options to configure and maintain integration.
    • Troubleshooting and support links.

Earnings

  • Purpose: Display earnings and payout status for affiliates/creators.
  • Components:
    • Summary of earnings.
    • Attribution results.
    • Payout status and history.
Page 5 of 10

3. Functional Requirements

  • As a SaaS company operator, I should be able to enroll in the service to manage affiliate and creator payout tracking. (explicit)
  • As a SaaS company operator, I should be able to connect my account with Stripe for seamless payout processing. (required_inference)
  • As an affiliate or creator, I should be able to join a program through an invitation to track my earnings and payouts. (required_inference)
  • As a user, I should be able to log in to access my dashboard and manage my activities. (required_inference)
  • As a SaaS company operator, I should be able to view and manage affiliates and creators to ensure accurate tracking and payouts. (required_inference)
  • As a SaaS company operator, I should be able to review payout statuses and history to ensure accurate and timely payments. (required_inference)
  • As an affiliate or creator, I should be able to view my earnings and payout status to track my performance and payments. (required_inference)

4. User Personas

SaaS Company Operator

  • Context: Manages affiliate and creator payout tracking for a SaaS business.
  • Primary Goal: Ensure accurate tracking and timely payouts to affiliates and creators.
  • Responsibilities:
    • Enroll in the service and connect with Stripe.
    • Manage affiliates and creators.
    • Monitor payout activities and resolve issues.
  • Interactions: Engages with the dashboard, affiliates, payouts, and integrations pages.
Page 6 of 10

Affiliate or Creator

  • Context: Participates in affiliate programs to earn payouts based on performance.
  • Primary Goal: Track attributed performance and receive accurate earnings and payout information.
  • Responsibilities:
    • Accept program invitations.
    • Monitor earnings and payout status.
  • Interactions: Engages with the join program, login, and earnings pages.

5. Core User Flows

5.1 SaaS Company Operator Enrollment

  1. Landing Page: Operator visits the landing page and clicks on the sign-up call-to-action.
  2. Sign Up Page: Operator fills out the registration form and submits it.
  3. Confirmation: Operator receives confirmation and instructions for next steps.

5.2 Affiliate or Creator Program Joining

  1. Invitation: Affiliate or creator receives an invitation to join a program.
  2. Join Program Page: Affiliate or creator accepts the invitation and submits the form.
  3. Confirmation: Affiliate or creator receives confirmation of successful joining.

5.3 User Login

  1. Login Page: User enters credentials and submits the login form.
  2. Access Granted: User is redirected to the dashboard or earnings page based on their role.
Page 7 of 10

5.4 Managing Affiliates

  1. Dashboard: Operator navigates to the affiliates section.
  2. Affiliates Page: Operator views the list of affiliates and selects one to manage.
  3. Affiliate Details Page: Operator updates tracking configurations and saves changes.

5.5 Reviewing Payouts

  1. Dashboard: Operator navigates to the payouts section.
  2. Payouts Page: Operator reviews payout statuses and history.
  3. Stripe Integration: Operator ensures payouts are processed through Stripe.

5.6 Viewing Earnings

  1. Login: Affiliate or creator logs in to access their earnings page.
  2. Earnings Page: User views earnings summary and payout status.
Page 8 of 10

6. Visuals Colors and Theme

  • Muse: Dieter Rams
  • Palette:
    • Background: #F5F5F5
    • Surface: #FFFFFF
    • Text: #333333
    • Primary: #FF5722
    • Accent: #FFC107
    • Muted: #BDBDBD
  • Typography:
    • Headings: IBM Plex Sans, Medium weights, small caps for labels
    • Body: Work Sans
    • Scale: 1.25 modular (48/32/24/18/16)
  • Shape Language: Rounded-rectangle controls
  • Layout: Modular grid, strict alignment
  • Motion: Instant, mechanical feedback; restrained tempo
  • Imagery: Diagrammatic line art, product silhouettes

7. Signature Design Concept

The landing page features a full-width diagrammatic hero with a primary orange accent for the key call-to-action, set against a muted background. This design emphasizes the integration points and the functional clarity of the product, aligning with Dieter Rams' principles.

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 features a diagrammatic representation of the affiliate tracking process, with interactive elements highlighting key integration points. The primary orange accent is used for call-to-action buttons, providing immediate feedback upon interaction.

9. Non-Functional Requirements

  • Reliability: The system must ensure accurate tracking and payout processing.
  • Performance: The application should handle multiple concurrent users without degradation.
  • Security: User data and financial transactions must be securely handled, adhering to industry standards.

10. Tech Stack

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

11. Assumptions and Constraints

  • The product is exclusively for SaaS companies.
  • Stripe is the only supported payment integration.
  • The design must adhere to the principles of functional clarity inspired by Dieter Rams.
Page 10 of 10

12. Glossary

  • SaaS: Software as a Service
  • MRR: Monthly Recurring Revenue
  • Affiliate: A person or entity that promotes a company's products or services in exchange for a commission.
  • Creator: An individual who produces content or products and participates in affiliate programs.
  • Stripe: A payment processing platform used for managing online 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 program invitation
Join Program: Confirm program joining
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 program invitation
Join Program: Confirm program joining
Login: Log in returning affiliate
Earnings: View earnings summary
Earnings: View attribution results
Payouts: View payout status