Case study

QuoteCraft: Messy brief in. Send-ready proposal out.

An AI proposal and quote generator for solo freelance web developers. Paste the brief, add your rate, and get a proposal in about a minute.

No subscription. Runs on your laptop with your own API key.

The QuoteCraft app: the sample client brief on the left and the proposal it wrote on the right.

The sample brief on the left. The proposal QuoteCraft wrote on the right.

The problem

Proposals eat
your evenings.

You lose an evening turning a messy brief into a proposal. Then you guess at a price and forget the hours that always show up: calls, revisions, testing, launch day.

So you underquote.

Maya, Tidewater Yoga Subject: new website??

Would love it live before January when everyone does their new years resolutions!!

No idea what websites cost honestly.

From the app's sample brief

What it does

One brief in.
Six parts out.

Every proposal has the same six parts, written to your client in plain English.

The timeline part of the sample proposal: plan and design in weeks 1–2, build in week 3, launch and handoff in week 4. The payment schedule part of the sample proposal: a 40% deposit, then 30% and 30%, with payment terms.
  1. Project overview

    The client's goal and your plan, in two short paragraphs.

  2. Deliverables

    What they get, what you assumed, and what's not included.

  3. Timeline

    Milestones in whole weeks, each ending in something to approve.

  4. Itemized quote

    Hours × your rate, plus a 15% buffer on its own line.

  5. Payment schedule

    Payments that add up to the total, plus plain terms.

  6. Follow-up email

    A short email to send with the proposal.

How it works

From brief
to proposal.

  1. Paste the brief

    An email, a DM, or your call notes, typos and all. Then add your hourly rate.

  2. Get the proposal

    About a minute later, all six parts are written and priced.

    The top of the sample proposal: New studio website with a live schedule and intro-offer signup, prepared for Tidewater Yoga, with a two-paragraph project overview.
  3. Change any number

    Edit a line's hours or your rate. Every total and payment updates.

    The editable quote in the app, priced at $85 an hour, with hours and an amount on every line.
  4. Send it

    Download the PDF and send it with the follow-up email.

    The follow-up email to Maya, with the total of $5,474, a 4-week timeline, and a $2,189.60 deposit filled in.

The build

Built with
Claude Code.

Rachel built QuoteCraft with Claude Code. Five decisions are worth stealing for your own AI tools.

The stack

  • Next.js
  • Claude API
  • Claude Opus 5
  • Structured outputs
  • No database

Proposal history stays in the browser.

  1. The AI estimates. The code calculates.

    Claude returns hours, weeks, and payment percentages as JSON. The app does every dollar of math, so the totals always add up.

    { "task": "Launch", "hours": 2 }→ 2 h × $85 = $170
  2. Live numbers in the text.

    The AI writes tokens like {{total}} and {{deposit}} into the email and terms. Change one line's hours and every total, payment, and the email update.

    Deposit to start: {{deposit}}→ Deposit to start: $2,189.60
  3. The buffer is its own line.

    A 15% buffer sits on the quote where the client can see it. It's never hidden in padded hours.

    Subtotal $4,760Buffer (15%) $714→ Total $5,474
  4. One prompt, two products.

    The same prompt file builds the app and a prompt pack for ChatGPT and Claude.

    prompt.ts→ the web app→ the prompt pack
  5. A fence against scope creep.

    Every proposal lists its assumptions and what's not included.

    Not included:→ New photography or photo retouching.→ Logo or brand changes.

Worked example

A real quote,
down to the cent.

From the app's sample: Tidewater Yoga, a small yoga studio, at $85 an hour. Change the rate or any hours, and the totals, payments, and email update, just like in the app.

Investment

Prepared for Tidewater Yoga

plus a 15% buffer.

Itemized quote for Tidewater Yoga
Item Hours Amount
Kickoff & discovery Call, sitemap, and a look at your Momence setup $340
Homepage + 5 inner page designs Two rounds of changes included $1,190
Responsive build All six pages, phone to desktop $1,360
Momence schedule & intro offer checkout Embed, style, and test booking $510
Content entry Teacher bios, pricing, FAQ, and photos $425
Testing on phones & browsers Plus speed and search basics $297.50
Launch Connect your domain and go live $170
Handoff & editing walkthrough Recorded session and a one-page guide $212.50
Project communication Weekly updates and feedback calls $255
Subtotal 56 hours $4,760
Buffer (15%) $714
Total $5,474

Payment schedule

Payment % Amount
Deposit Before work starts 40% $2,189.60
Design approval When you approve the designs 30% $1,642.20
Launch When the site goes live 30% $1,642.20

Extra work beyond this scope is billed at $85/hour.

Timeline

4 weeks

  1. Plan & design Weeks 1–2
  2. Build Week 3
  3. Launch & handoff Week 4

Follow-up email

Subject: Your Tidewater Yoga website proposal

The full proposal is attached. The short version:

  • Total: $5,474
  • Timeline: 4 weeks from kickoff, with room to launch before the January rush
  • Deposit to start: $2,189.60

The template

Get the code.
Make it yours.

QuoteCraft is a code template. You run it yourself, with your own API key.

What's inside

  • The Next.js app source
  • A prompt pack: 3 prompts for ChatGPT or Claude, as PDF and Markdown
  • A quickstart guide

What you need

  • Node.js
  • Your own Anthropic API key
Cost to run
About 10–25¢ per proposal on Claude Opus 5. Less on Sonnet 5.
Where it runs
On your laptop. Deploy it with a password if you want it online.
License
Use it for your own business. Don't resell it.
The QuoteCraft cover: Messy brief in. Send-ready proposal out. Code template

QuoteCraft template

$29 one-time

The app source, the prompt pack, and the quickstart guide.

Get the template

Secure checkout on Polar. Use it for your own business.

FAQ

Quick
answers.

Is it a subscription?

No. You pay $29 once.

What do I need to run it?

Node.js and your own Anthropic API key.

What does each proposal cost?

About 10–25¢ in API fees on Claude Opus 5. Less on Sonnet 5.

Can I put it online?

Yes. Deploy it with a password so strangers can't spend your API credits.

Can I resell it?

No. Use it for your own business, but don't resell the template.

Which AI does it use?

Claude Opus 5, through the Claude API. Swap to Sonnet 5 to save money.

Where are my proposals saved?

In your browser. There's no database.