DEV Community

trekpwild
trekpwild

Posted on

How I Built a Proposal Generator in a Single HTML File

I got tired of writing client proposals in Google Docs that looked amateur. Every SaaS alternative charged $20-50/month for what's essentially a PDF template. So I built ProposalForge — one HTML file, 30KB, zero dependencies.

The Stack (It's Just HTML)

No React. No Vue. No build step. Just vanilla HTML, CSS, and JavaScript.

  • CSS custom properties power a 3-template theming system
  • @media print stylesheet handles PDF export — no library needed
  • localStorage manages draft persistence
  • Smart pricing calculator with auto-totals, discounts, and tax

Why Single-File?

Because nobody wants to install software or create an account to write a proposal. You download the file, double-click, and start working. It works 100% offline — useful when you're at a client site with no internet.

The Templates

Three themes (Modern, Minimal, Creative) that you can switch between instantly. The CSS custom property system means each template is just a different set of variable values.

What I Learned

  1. You don't need a framework for a polished UI — CSS variables are incredibly powerful
  2. @media print is underrated — perfect PDFs with zero JavaScript
  3. Single-file tools are a real business model — Gumroad makes distribution trivial

I'm selling it for $12 one-time on Gumroad. No subscriptions, no accounts, no internet required after download.

Would love feedback from other indie makers here — especially on pricing and feature ideas!

https://trekwild.gumroad.com/l/srjgkk

Top comments (0)