The Problem
Every new client engagement starts the same way. Discovery call, follow-up, and then the part nobody enjoys: writing the proposal.
Open Google Docs. Find the last proposal that looked decent. Copy it. Strip out the old client’s details. Try to remember what was actually discussed on the call. Reformat the headers. Fix the page breaks. Adjust the pricing table. Hope the branding is consistent.
Anyone who’s freelanced or run a small shop knows this routine. The task itself isn’t hard. It’s just slow, repetitive, and it never comes out the same way twice. Details from the call get lost. Formatting eats up time. And a task that should take minutes ends up burning hours you don’t get back. I was no exception.
I tell clients to kill the stupid work. This time I took my own advice.
The Solution
I built a custom web app that takes everything discussed on a client call and turns it into a polished, branded proposal. No more copy-pasting from old docs, no more reformatting, no more hoping the branding is right.
The system handles proposals, SOWs, and contracts. Adding a new document type means adding a config file and a template, not rebuilding the app. Built with Nuxt 4, Vue 3, TipTap, Paged.js, and the Claude API.
How It Works
- Client call happens — transcript captured automatically via Fireflies, an AI meeting recorder that joins calls and transcribes them
- AI pulls the key details — client name, scope, problem, proposed solution, pricing. Straight from the transcript or pasted meeting notes
- Multi-step builder walks you through four sections — Client Info, Executive Summary, Problem & Solution, Pricing. AI gives you a starting point, not a finished product
- You review and refine — rich text editor so you can shape the content before anything goes out
- One click, branded PDF — cover page, typography, headers, footers, page numbers. All on-brand, no manual formatting
The AI doesn’t write your proposals. It kills the blank page. Everything from the call gets pulled into the right sections. You decide what stays, what gets reworded, what gets cut.
What Changed
Before
- Copy-paste from old proposals
- Details lost between call and doc
- Inconsistent branding every time
- Manual formatting and page breaks
- One document type, one template
After
- Full proposal in under 5 minutes
- Nothing from the call gets lost
- Brand-consistent output every time
- PDF renders in the browser, no third-party service
- Proposals, SOWs, and contracts from one system
That’s 3 hours back to do the work that actually matters- building client relationships and delivering quality projects.
The Takeaway
Same thinking I bring to client projects, applied to my own workflow first.
Figure out where the time is going. Build a system around it. The best tools aren’t the ones with the most features. They’re the ones that actually get used.