Price Genie is Now Open Source — Let's Build Smarter Pricing Together

Price Genie is a simple yet powerful pricing calculator that helps entrepreneurs, freelancers, and small businesses determine fair, profitable rates for their products or services. Designed with cost-based pricing principles, Price Genie empowers you to make informed decisions based on your actual costs, expenses, and target profit margins.

“Take control of your pricing with logic, not guesswork.”


LIVE DEMO

Click the image to experience and use the LIVE DEMO

NPM Package

GitHub Repository


Why Open Source?

Sometimes, generosity strikes hard.

After receiving tons of great feedback from freelancers, business owners, and developers who tried out Price Genie, I decided to open-source it. Why? Because the mission goes beyond just being "my tool." I want this to evolve into something bigger — something we can all build together to empower small businesses and creatives everywhere.

I believe in accessible tools. I believe in better systems for pricing. And I believe in collaboration.


What Is Price Genie?

Price Genie is a modular TypeScript-based pricing engine designed to help individuals and small businesses simulate pricing models based on their costing, margins, and production limits.

It gives you full control over your:

  • Costing breakdown (unit cost, quantity)

  • Simulated outputs (SRP, total supply, margin projections)

  • Pricing strategies (fixed price)

All done using a structured, highly readable class-based system.


Features

  • Calculate ideal prices based on costing breakdown

  • Transparent computation logic with per-item control

  • Built for freelancers, creatives, startups, and service providers

  • Written in TypeScript — fully typed, no runtime dependencies

  • Supports fixed markup, profit targets, or manual override

  • Modular and extensible class structure

  • Lightweight — zero dependencies


Installation

npm install @thezelijah/price-genie

Usage

Step 1: Initialize and Setup Price Genie

Basic Setup

import { PriceGenie, type CostingItem } from '@thezelijah/price-genie';


const genie = PriceGenie.initialize();


const sampleCostingItems: CostingItem[] = [
  {
    label: "Labor",
    description: "Skilled worker wages for assembly and packaging",
    quantity: 20,
    unit: "hrs",
    unitPrice: 250,
    amount: 5000,
    costMargin: 0.25,
    multipliers: {
      quantity: 1,
      unitPrice: 1,
    },
  },
  {
    label: "Raw Materials",
    description: "High-quality wood used for furniture production",
    quantity: 10,
    unit: "pcs",
    unitPrice: 750,
    amount: 7500,
    costMargin: 0.2,
    multipliers: {
      quantity: 1,
      unitPrice: 1,
    },
  },
  {
    label: "Logistics",
    description: "Delivery and transportation of finished goods",
    quantity: 2,
    unit: "trips",
    unitPrice: 1200,
    amount: 2400,
    costMargin: 0.15,
    multipliers: {
      quantity: 1,
      unitPrice: 1,
    },
  },
  {
    label: "Packaging",
    description: "Custom printed boxes and wrapping materials",
    quantity: 100,
    unit: "sets",
    unitPrice: 35,
    amount: 3500,
    costMargin: 0.1,
    multipliers: {
      quantity: 1,
      unitPrice: 1,
    },
  },
];


// Set Name
let updatedInstance = genie.setItemName("My Product")
.setItemDescription("A new product to add")
.setBasePrice(parseFloat("12345.50"))
.setTotalSupply(parseInt("100"))
.setListCostingBreakdown(sampleCostingItems);

Helper: Clear all costing items breakdown

// Clear and empty List of Items included in the costing breakdown
let updatedInstance = genie.clearListCostingBreakdown();

Helper: Get the most expensive item from the costing breakdown

// Returns the most expensive item from the costing breakdown
const mostExpensiveItem = genie.getMostExpensiveCostItem();

Step 2: Simulation Mode & Slider Implementation

PriceGenie allows you to simulate pricing strategies without affecting your original data. You can plug these into a visual UI using sliders for dynamic experimentation.

2.1 Toggle Simulation Mode

Enable or disable simulation mode for visual controls like sliders:

const handleToggleSimulationMode = (bool: boolean) => {
const updatedInstance = genie.toggleSimulation(bool);
 setGenieInstance(updatedInstance);
};

When enabled, simulated values (e.g., quantity, unit price) override base values only in calculations and UI, not in stored data.


2.2 Update Simulation Multipliers via Sliders

Each of these methods updates simulated multipliers that affect pricing computation in real time:

Cost Item Quantity

const handleSimDataQuantity = (multiplier: number, index?: number) => {
  if (!!genie && index !== undefined) {
    const updatedInstance = genie.updateCostItemQuantityMultiplier(index, multiplier);
    setGenieInstance(updatedInstance);

  }
};

Cost Item Unit Price

const handleSimDataUnitPrice = (multiplier: number, index?: number) => {
  if (!!genie && index !== undefined) {
    const updatedInstance = genie.updateCostItemUnitPriceMultiplier(index, multiplier);
    setGenieInstance(updatedInstance);
  }
};

Global Total Supply

const handleSimDataTotalSupply = (multiplier: number) => {
  if (!!genie) {
    const updatedInstance = genie.updateTotalSupplyMultiplier(multiplier);
    setGenieInstance(updatedInstance);
  }
};

Global SRP (Suggested Retail Price)

const handleSimDataSRP = (multiplier: number) => {
  if (!!genie) {
    const updatedInstance = genie.updateSRPMultiplier(multiplier);
    setGenieInstance(updatedInstance);
  }
};

Use Cases

  • Freelancers quoting custom projects

  • Product makers computing ideal selling price

  • Startups experimenting with cost inputs

  • Visual apps needing real-time pricing logic


Contributions Welcome

If you love improving open tools, or you want to add your own flavor to this pricing engine, I welcome contributors!

Feel free to fork, star, or build off the repo:
👉 https://github.com/jedlsf/PriceGenie

Or reach out via email: business@thezelijah.world


A Quick Teaser: What's Next?

I’m almost done with the prototype for my next upcoming platform: Majikah

An all-in-one creative hub space for artists, professionals, and studios.
I designed it with people like us in mind — creatives who have worked both as artists and as clients, and who know the pain of inefficient tools.

Stay tuned for more.


Let’s work! Your vision, my magic.
— Zelijah

1
Subscribe to my newsletter

Read articles from Josef Elijah Fabian directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Josef Elijah Fabian
Josef Elijah Fabian

Zelijah — born Josef Elijah Fabian — is a Filipino modern-day Renaissance man, a multi-disciplinary artist, entrepreneur, and creative technologist based in Metro Manila, Philippines. With over 11 years of experience since 2014, his dynamic career spans music, software engineering, 3D animation, game audio, branding, and visual storytelling. Known for fusing technical expertise with deeply emotional and cinematic expression, Zelijah bridges the worlds of art, sound, and technology—consistently pushing creative and cultural boundaries through visionary execution.