The problem Every time I had to write a proposal for a client, I spent 2-3 hours on it. Researching their brief, structuring sections, finding the right tone. Most of the time the client had already hired someone else by the time I sent it. So I built ProposalPilot. What it does You paste the client's project brief, pick your service type (web dev, design, marketing, consulting), and get a full personalized proposal in ~30 seconds. The output streams in real time so you see it being written, which feels surprisingly satisfying. 👉 https://autoproposal-six.vercel.app — free to try, 3 proposals/month The stack Next.js 14 (App Router, Server Components) Anthropic Claude API for generation with streaming Supabase for auth + database (RLS on every table) Stripe for payments ($19/month Pro plan) Vercel for hosting The streaming was the trickiest part — piping Claude's stream through a Next.js Route Handler to the client with ReadableStream and TextDecoder . Once it clicked it felt like magic.…