runbookify
← All plans
Logistics & Transportation / Shipment Booking & Rating

Freight Quote Follow-up Tracker

Log every freight quote you give, age it automatically, and send rep-approved follow-up emails at the right moment so your win rate stops bleeding from quotes nobody chased.

BeginnerAn afternoonBuilds onNext.js (App Router) on VercelSupabase (Postgres, Auth, RLS)Resend (email)
What you'll build

A private team tool that logs freight quotes, times the follow-ups, drafts each chase email for a rep to approve, tracks won/lost/no-response outcomes, and shows your win rate on a dashboard.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.

Before you start

  • A free Vercel account
  • A free Supabase account
  • A free Resend account
  • Your existing quotes in a spreadsheet or CSV (customer, lane, price, date, status)

The problem this kills

You quote a rate, the customer says "let me check," and then... silence. The quote sits in your inbox or a tab in a shared spreadsheet, gets buried under the next twenty quotes, and quietly expires. Nobody chased it. The load went to whoever followed up first - and that wasn't you.

On a busy brokerage or inside-sales desk, the difference between a 20% and a 30% close rate is rarely the price. It's the follow-up. The second email two days later. The "still shopping this lane?" nudge before the rate goes stale. That work is boring, easy to drop, and worth real money - so it's exactly the kind of thing a small internal tool should do for you.

What you'll build

A simple, private web app for your quoting desk. A rep logs a quote (customer, lane, price, date) in a few seconds. The tool starts an aging timer. At the intervals you set - say day 2 and day 5 - it drafts a friendly follow-up email. The rep reads the draft, tweaks it if they want, and clicks approve & send. When the customer books or passes, the rep marks the quote won, lost, or no-response. A dashboard shows your win rate by rep, lane, and time period - so you can finally see which quotes are slipping and why.

Nothing gets emailed without a human saying yes. Nothing gets marked won or lost without a human saying yes.

What's inside the Implementation Plan

The plan is a complete, paste-and-go runbook for an AI coding agent (Claude Code). You don't write code - you answer questions and approve steps.

It opens by interviewing you about your business - your lanes, your quote-number format, how you price, your typical and peak quote volume, and the exact moments you'd normally follow up. It reads back a short tailored spec and waits for your thumbs-up, so the tool fits your desk instead of a generic template. From there it builds the database, the login, the quote log, the aging engine, the draft-and-approve email flow, and the win-rate dashboard - each step ending in a prompt you simply copy and paste.

The governance it includes (this is the point)

  • Login so only your team can open the tool.
  • Row-level security so each rep (and each office) sees only their own quotes.
  • A human approval gate on every follow-up email - the AI drafts, a person reviews and sends. Same for marking a quote won or lost.
  • A full audit trail - who logged it, who approved it, when each email went out.
  • Duplicate guards keyed on your quote number, so the same quote can't be logged or chased twice.
  • Stale-threshold rules you define, with follow-ups automatically suppressed the moment a quote is won or lost.

Who it's for

Inside sales reps and freight brokerage quoting desks - anyone who fires out rate quotes all day and knows, deep down, that money is leaking out of the ones nobody circled back on.

You've got this - paste the first prompt and let the agent interview you.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.