UGC Reactions from Real Creators
Real creator library videos at $11 and images at $8. Custom production from $25/video with a $250 minimum. Commercial licensing included.
Who to follow up today, why, and a ready-to-send WhatsApp draft.
Translation pending
MarketingTypeScript · CSSGitHub @Divyam19OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A lead follow-up agent with a working web app on top, built for a packaging-equipment company with five sales reps. It reads each lead's WhatsApp chat, tags the lead Hot / Warm / Cold with a one-line reason, sets the next follow-up date, and drafts the next message. The screen tells each rep who to follow up with today and what to say.
Live: gushwork-sooty.vercel.app (mirror: gushwork-production.up.railway.app) · Design notes: NOTE.md · Decision log: DECISIONS.md
| For the rep | How |
|---|---|
| See who to follow up with, most urgent first | Four views: Overdue (in red), Due today, Upcoming, Done today. Hot leads first, then the most days late. |
| Know why a lead is Hot, Warm or Cold | The lead sheet shows the one-line reason and a score ledger ("How was this scored?") with the quote behind each point. |
| Send the next message | A WhatsApp-style draft is ready. Edit it, copy it, or Mark as sent. Unknown prices and dates are left as [placeholders] and block sending until filled. |
| Keep the lead up to date | Add chat (paste a WhatsApp export or a single message) or Add lead. The agent re-tags the lead and re-plans the follow-up straight away. |
| Find a lead fast | Cmd/Ctrl + K search by name, company or phone. Filter by rep. |
A lead counts as Done today when the rep's own message is the newest one in the chat and was sent today (IST). A buyer reply after that sends it back to the queue.
The language model reads the chat. Plain code makes the decisions. That keeps tags consistent and explainable.
Extract signals (LLM). From the chat and CRM notes it fills yes/no signals, each with a supporting quote: strong intent, medium intent, open request, pending promise from the rep, time pressure, unresolved price objection, deferred, lost.
Score and tag (code, lib/agent/score.ts).
| Signal | Points | Signal | Points | |
|---|---|---|---|---|
| Strong intent (quote, demo, visit, trial, proforma) | +35 | Price objection unresolved | −10 | |
| Medium intent | +25 | No reply to our follow-ups | −15 | |
| Buyer waiting on us | +20 | Deferred to a later time | −25 | |
| We owe them something | +15 | Active in the last 3 days | +10 | |
| Deadline mentioned | +10 | Quiet 11–20 days / silent 21+ | −5 / −20 |
50 or more is Hot, 20–49 is Warm, below 20 is Cold. A lead the buyer has dropped ("lost") is always Cold.
Pick the follow-up date (code, lib/agent/schedule.ts). The buyer's own date wins, then "buyer is waiting" (today), then our pending promise (the day after our last message), then Hot +1 day, Warm +3, Cold +14. Sundays are skipped.
Write the reason and the draft (LLM). It is told the tag, the score and who owes what, and must never invent a price or a date.
On the 16 hand-labelled leads, pnpm eval gives 16/16 tags and 10/10 dates. The prompt was tuned on those same leads, so treat that as in-sample (see D-18 in DECISIONS.md).
This is the beginning of the README. Read the rest at the original. Read the full README ↗