Porter-smith / does-it-scale

Build what you want without the unknowns!
https://doesitscale.dev/
17 stars 1 forks source link

Does it scale logo with text saying build what you want without the unknowns

Welcome to DoesItScale.dev

Try me!

DoesItScale.dev helps you compare pricing for different developer tools so you can build what you want without the unknowns. Our algorithms for pricing comparison are open sourced in this repository, allowing you to see how we calculate and compare costs across different services.

About This Repository

This repository contains:

Contribution Guide

We welcome contributions of all kinds from the community:

Adding a New Auth Provider

To add a new auth provider:

  1. Open the services/auth/pricing.ts file.
  2. Create a new function to calculate the cost for the auth provider, e.g., calculateNewAuthCost.
  3. Implement the pricing logic based on the provider's pricing model.
  4. Add a new entry to the prices array with the service name, icon, pricing data, color, and pricing page URL.
  5. Add a new entry to the pricingBreakdown object with the pricing details for the new provider.
  6. Add the icon to the src/icons you specifed in the prices array
  7. Submit a pull request with your changes.

Example:

// Add the new auth provider pricing function
export function calculateNewAuthCost(users: number): number {
  // Implement the pricing logic for the new auth provider
  // ...
}

export const prices: ServicePrice[] = [
  // ...
  {
    service: "New Auth",
    iconName: "newauth",
    users5k: calculateNewAuthCost(5000),
    users10k: calculateNewAuthCost(10000),
    users50k: calculateNewAuthCost(50000),
    users100k: calculateNewAuthCost(100000),
    users1m: calculateNewAuthCost(1000000),
    users2m: calculateNewAuthCost(2000000),
    color: "#ff0000",
    pricingPage: "https://newauth.com/pricing",
  },
  // ...
];

export const pricingBreakdown: PricingBreakdown = {
  // ...
  "New Auth": [
    "Pricing details for New Auth",
    // ...
  ],
  // ...
};

Updating an Auth Provider

To update an existing auth provider:

  1. Open the services/auth/pricing.ts file.
  2. Locate the function that calculates the cost for the auth provider you want to update, e.g., calculateFirebaseAuthCost.
  3. Update the pricing logic and rates according to the latest information.
  4. Update the corresponding entry in the pricingBreakdown object with the new pricing details.
  5. Submit a pull request with your changes.

Getting Started

  1. Clone the repository:
    git clone https://github.com/Porter-smith/does-it-scale.git
  2. Install dependencies:
    cd doesitscale.dev
    pnpm install
  3. Run the project locally:
    pnpm dev

More Information

Please note that while the pricing and authentication algorithms are open source, the frontend code is maintained separately and is not open sourced.