Ledger Studio is an editorial-style quotation system built for privacy-conscious professionals.
See the codeA freelance workspace for creating quotes, understanding pricing, and protecting project scope.
Live Demo: [Add your live demo URL here]
Ledger Studio started with a simple question:
Is the price of my freelance project actually sustainable for me?
Most quote builders are good at calculating:
Quantity × Rate = Price
But that only tells you what the client is paying.
Ledger Studio tries to make the freelancer side of the deal easier to understand too.
Ledger Studio is a browser-based freelance workspace for:
The goal is not to tell freelancers what they should charge.
The goal is to make the information behind a quote easier to see.
Ledger Studio has a Freelancer Baseline that lets you enter:
From this, the app calculates a personal minimum hourly rate.
This is not a market-rate calculator.
It does not use an external database to tell you what your rate should be.
It is simply a personal financial floor.
If a quote falls below that floor, Ledger Studio can flag it.
Freelance projects often contain work that doesn't appear clearly in the original quote.
For example:
Build website — 40 hours
The actual project may also involve:
Ledger Studio has a Hidden Work Detector that checks the quote description, scope of work, and terms against predefined rules and keywords.
When something is detected, you can:
The detector is rule-based.
It is not an AI system that understands every possible hidden task.
Because of that, it can miss things or flag something that is not relevant.
The Proposal X-Ray performs a pre-flight check of a proposal across areas such as:
It produces a proposal health score and points to sections that may need attention.
The Scope Creep Simulator lets you test how a project can change when a client asks for additional work.
The simulation can change:
You can respond by:
It is a simple way to think through scope decisions before dealing with them on a real project.
The quote builder supports:
The application calculates line-item totals, subtotal, tax, discount, grand total, and effective hourly rate.
Payment milestones are validated so that they add up to exactly 100% before export.
Quotes can be previewed in real time and exported as PDF directly from the browser.
The PDF is generated on the client side using @react-pdf/renderer.
Accepted quotes can be converted into active projects.
Projects can track:
Available statuses:
In Progress
Awaiting Client
Completed
Canceled
Ledger Studio is designed to work locally in the browser.
The core workflow does not require:
Quote data, freelancer settings, sender information, and projects are stored in browser localStorage.
@react-pdf/rendererlocalStorageMake sure you have Node.js and npm installed.
git clone https://github.com/YOUR_USERNAME/YOUR_REPOSITORY.git
cd YOUR_REPOSITORY
npm install
npm run dev
Open:
http://localhost:3000
npm run build
Then:
npm start
The main application is organized around the freelance workflow:
app/
components/
views/
deal-lab/
lib/
Some of the main logic lives in:
lib/
├── quote-utils.ts
├── formatCurrency.ts
├── project-utils.ts
├── hidden-work-rules.ts
├── xray-engine.ts
├── scope-creep-scenarios.ts
└── deal-gamification.ts
Ledger Studio is intentionally not trying to solve every freelancing problem.
A personal minimum rate does not tell you what a specific client or market will actually pay.
The detector relies on predefined rules and keywords, so it can miss relevant work or flag irrelevant work.
A proposal can still be a bad deal even when the numbers look good.
These tools are meant to make potential problems easier to notice, not make the decision for the freelancer.
I built Ledger Studio because I wanted freelance proposals to answer more than:
"How much does this project cost?"
I also wanted them to make it easier to answer:
"What does this deal actually mean for me?"
A lot of the system is intentionally deterministic.
Instead of having a model invent a price or tell the freelancer what they should charge, Ledger Studio uses information the freelancer already knows and makes the economics, workload, and proposal risks easier to see.
If you try Ledger Studio and find it useful:
⭐ Star the repository
And if you build something with it, I'd appreciate a mention.
Feedback, issues, and suggestions are also welcome.
Harsh Nainuji
GitHub: Harsh-Nainuji
LinkedIn: Harsh Nainuji
Website: Atarico
19 commits
TypeScript
98.9%
Ledger Studio is an editorial-style quotation system built for privacy-conscious professionals.
See the codeA freelance workspace for creating quotes, understanding pricing, and protecting project scope.
Live Demo: [Add your live demo URL here]
Ledger Studio started with a simple question:
Is the price of my freelance project actually sustainable for me?
Most quote builders are good at calculating:
Quantity × Rate = Price
But that only tells you what the client is paying.
Ledger Studio tries to make the freelancer side of the deal easier to understand too.
Ledger Studio is a browser-based freelance workspace for:
The goal is not to tell freelancers what they should charge.
The goal is to make the information behind a quote easier to see.
Ledger Studio has a Freelancer Baseline that lets you enter:
From this, the app calculates a personal minimum hourly rate.
This is not a market-rate calculator.
It does not use an external database to tell you what your rate should be.
It is simply a personal financial floor.
If a quote falls below that floor, Ledger Studio can flag it.
Freelance projects often contain work that doesn't appear clearly in the original quote.
For example:
Build website — 40 hours
The actual project may also involve:
Ledger Studio has a Hidden Work Detector that checks the quote description, scope of work, and terms against predefined rules and keywords.
When something is detected, you can:
The detector is rule-based.
It is not an AI system that understands every possible hidden task.
Because of that, it can miss things or flag something that is not relevant.
The Proposal X-Ray performs a pre-flight check of a proposal across areas such as:
It produces a proposal health score and points to sections that may need attention.
The Scope Creep Simulator lets you test how a project can change when a client asks for additional work.
The simulation can change:
You can respond by:
It is a simple way to think through scope decisions before dealing with them on a real project.
The quote builder supports:
The application calculates line-item totals, subtotal, tax, discount, grand total, and effective hourly rate.
Payment milestones are validated so that they add up to exactly 100% before export.
Quotes can be previewed in real time and exported as PDF directly from the browser.
The PDF is generated on the client side using @react-pdf/renderer.
Accepted quotes can be converted into active projects.
Projects can track:
Available statuses:
In Progress
Awaiting Client
Completed
Canceled
Ledger Studio is designed to work locally in the browser.
The core workflow does not require:
Quote data, freelancer settings, sender information, and projects are stored in browser localStorage.
@react-pdf/rendererlocalStorageMake sure you have Node.js and npm installed.
git clone https://github.com/YOUR_USERNAME/YOUR_REPOSITORY.git
cd YOUR_REPOSITORY
npm install
npm run dev
Open:
http://localhost:3000
npm run build
Then:
npm start
The main application is organized around the freelance workflow:
app/
components/
views/
deal-lab/
lib/
Some of the main logic lives in:
lib/
├── quote-utils.ts
├── formatCurrency.ts
├── project-utils.ts
├── hidden-work-rules.ts
├── xray-engine.ts
├── scope-creep-scenarios.ts
└── deal-gamification.ts
Ledger Studio is intentionally not trying to solve every freelancing problem.
A personal minimum rate does not tell you what a specific client or market will actually pay.
The detector relies on predefined rules and keywords, so it can miss relevant work or flag irrelevant work.
A proposal can still be a bad deal even when the numbers look good.
These tools are meant to make potential problems easier to notice, not make the decision for the freelancer.
I built Ledger Studio because I wanted freelance proposals to answer more than:
"How much does this project cost?"
I also wanted them to make it easier to answer:
"What does this deal actually mean for me?"
A lot of the system is intentionally deterministic.
Instead of having a model invent a price or tell the freelancer what they should charge, Ledger Studio uses information the freelancer already knows and makes the economics, workload, and proposal risks easier to see.
If you try Ledger Studio and find it useful:
⭐ Star the repository
And if you build something with it, I'd appreciate a mention.
Feedback, issues, and suggestions are also welcome.
Harsh Nainuji
GitHub: Harsh-Nainuji
LinkedIn: Harsh Nainuji
Website: Atarico
19 commits
TypeScript
98.9%