Web app · Live compare page · Packaged compare brief · Deep Dive · boundary-check · GitHub · npm · All tools · Contact
replytone scores a draft reply before you send it, whether the draft is for dating, recruiting, sales, support, workplace, family, cofounder, or another high-context conversation.
It also works as a narrower, faster alternative to ChatGPT or Gemini when the real question is not "write something for me" but "is this draft warmer, clearer, pushier, or more urgent than I think?"
It is deliberately simple: no model calls, no hidden prompts, no fake certainty. You paste a draft reply and it gives you four practical signals:
- warmth
- clarity
- pressure
- urgency
It also gives you a deterministic send call for the context you choose:
sendsoftenclarifytrim urgencyslow down
The live web app now also presents a clearer paid step instead of a vague flagship jump:
Deep Dive—$19 oncewhen one loaded thread or one recurring person is the issueStarter—$14.99/mowhen this becomes a repeated message-reading habitPractitioner—$99.99/mowhen the workflow becomes client-facing for coaches, mediators, or trainers
That is enough to catch the most common self-inflicted mistakes:
- sounding colder than you meant
- sounding vague when you need a clear next step
- sounding pushy when the relationship is already tense
- mistaking urgency for clarity
- escalating a family, cofounder, or workplace thread that really needed calmer wording
tells is the paid flagship. It reads what people do not say across messages, people, and profiles.
But many users do not start with "analyze the whole relationship." They start with a smaller problem:
- "Does this reply sound rude?"
- "Am I overexplaining?"
- "Is this too aggressive for a client?"
- "Will this text read as needy?"
- "Does this sound like escalation when I actually need cooperation?"
replytone is the cheap first step in that intent path. It is a free deterministic tool that captures a real moment of doubt. When the user outgrows the surface score, the next action is obvious: run the thread through tells.
That same doubt shows up far outside dating:
- support or account-management replies that could inflame a customer instead of calming them
- workplace feedback or manager escalations where firmness and clarity need to stay separate
- cofounder or family repair texts where the issue is not grammar but emotional temperature
When one draft score is not enough, the fastest paid next step is:
https://tells.voiddo.com/deep-dive/?ref=replytone-readme
If users still need one more free checkpoint before they buy, route them into the narrow live tool that matches the problem instead of dumping them into a generic hub:
boundary-checkwhen the draft really needs a firmer limit, not softer tone:https://tells.voiddo.com/boundary-check/?ref=replytone-readmetellsmain app when the question is already bigger than one draft and the free tier is enough to start:https://tells.voiddo.com/?ref=replytone-readme
npm install -g @v0idd0/replytoneUse the live browser version here:
https://tells.voiddo.com/replytone/?ref=replytone-readme
replytone "Thanks for the nudge. Please send the draft by Friday."cat draft.txt | replytonereplytone --json "You need to send this ASAP. Why didn't you do it already?!"replytone --file draft.txtreplytone --context recruiter "Thanks for reaching out. I would need the salary range before committing to a call."tone: warm / clear
warmth: 7.6/10
clarity: 7.8/10
pressure: 2.5/10
urgency: 1.7/10
decision: send
why: This looks sendable for the chosen context.
- Client drafts need a clean next step and calm authority.
suggestions:
1. This reads sendable. If the relationship stakes are high, run the full thread through tells before sending.
next: Use tells when a single draft is not enough and you need the full relationship or thread read.
- quick next paid step: https://tells.voiddo.com/deep-dive/?ref=replytone-cli
- recurring reads: https://tells.voiddo.com/?ref=replytone-cli
The tool uses transparent heuristics, not a black box:
- positive or softening phrases raise warmth
- cold or dismissive phrases lower warmth
- direct asks and next-step language raise clarity
- hedge language lowers clarity
- force words, all-caps, and stacked punctuation raise pressure
- deadline or alarm language raises urgency
This means two things:
- The output is explainable.
- The output is intentionally conservative.
If you need real interpersonal reading rather than a draft check, use tells.
- customer support drafts before hitting send
- account-management follow-ups
- recruiter and candidate replies
- founder-to-client messages
- manager, peer, or workplace-friction replies that need calm authority
- mediation or de-escalation drafts that need calm wording
- relationship or dating texts where you want to avoid accidental edge
- family or cofounder texts where one badly phrased sentence can widen the conflict
- coach/client replies that need warmth without fuzziness
- legal review
- crisis response
- full thread interpretation
- personality analysis
- deception detection
Those are outside the scope of this tool. For anything relationally high-stakes, replytone should be the doorway, not the final answer.
Because "ask a big model" is not always the right first step.
For a narrow draft check, a deterministic tool is faster, cheaper, and easier to trust:
- no API key
- no prompt fiddling
- no latency roulette
- no surprise token bill
- same input gives the same output
Then, if the user wants a deeper read, the paid upgrade path is not "more tokens." It is tells, which is opinionated around messages, people, and profiles.
That matters most when the draft is carrying hidden stakes:
- support threads where a reply can either settle or escalate the customer
- workplace or founder loops where pressure can sound like blame
- family messages where the subtext matters more than the literal sentence
If you want the side-by-side version of that argument, use the comparison page:
https://tells.voiddo.com/replytone/compare-chatgpt-gemini.html?ref=replytone-readme
If you are reading this on npm or GitHub and want the packaged version of that positioning, use:
./compare-chatgpt-gemini.md
- live compare page for browser-first "replytone vs ChatGPT / Gemini" traffic:
https://tells.voiddo.com/replytone/compare-chatgpt-gemini.html?ref=replytone-readme - packaged compare brief for npm/GitHub readers deciding whether to install:
compare-chatgpt-gemini.md
When the quick draft check is not enough:
Deep Dive—$19 oncefor one loaded thread or one recurring personStarter—$14.99/mofor repeated message readingPractitioner—$99.99/mofor coaches, mediators, recruiters, trainers, or client-facing teams using this with clients
Start here:
https://tells.voiddo.com/deep-dive/?ref=replytone-readme
If you still need one more free checkpoint first, use the live sibling route that matches the issue:
boundary-checkfor limits that still sound apologetic or negotiated away:https://tells.voiddo.com/boundary-check/?ref=replytone-readmetellsmain app when the issue is already the thread or person, not only this draft:https://tells.voiddo.com/?ref=replytone-readme
If the draft-tone check is not the right layer, use the sibling checker that matches the decision:
message-next-stepfor deciding what to do with one incoming message:https://tells.voiddo.com/message-next-step/?ref=replytone-related-readmedouble-text-riskfor deciding whether another outbound follow-up is worth sending yet:https://tells.voiddo.com/double-text-risk/?ref=replytone-related-readmeambiguity-meterfor measuring whether the other person's message is concrete, vague, or evasive:https://tells.voiddo.com/ambiguity-meter/?ref=replytone-related-readmecall-not-textfor deciding whether the thread now needs a clearer call or pause instead of another draft revision:https://tells.voiddo.com/call-not-text/?ref=replytone-related-readmesoft-yes-or-nofor judging whether the incoming reply is real movement or only warm drift before you draft anything else:https://tells.voiddo.com/soft-yes-or-no/?ref=replytone-related-readmeboundary-checkfor drafts where the real problem is not tone but a limit that still is not landing cleanly:https://tells.voiddo.com/boundary-check/?ref=replytone-related-readmeraincheck-or-runfor reschedule or cancellation loops where the wording is secondary to whether the pattern itself is worth trusting:https://tells.voiddo.com/raincheck-or-run/?ref=replytone-related-readme
This repo is one piece of a tells acquisition cluster:
replytone— draft reply checkerambiguity-meter— detect mixed signals or unclear asksprofile-red-flags— quick checklist for dating/profile review intent
The point is not three random tools. The point is three narrow doors into one paid product.
If you want the browser-first version of that cluster, use the direct paid step first when the stakes are already clear:
https://tells.voiddo.com/deep-dive/?ref=replytone-readme
If you still want another free route before paying deeper, start with the live sibling or the main app instead of a generic catch-all:
boundary-check:https://tells.voiddo.com/boundary-check/?ref=replytone-readmetellsmain app:https://tells.voiddo.com/?ref=replytone-readme
import { analyzeReplyTone, formatReport } from "@v0idd0/replytone";
const result = analyzeReplyTone(
"Thanks for following up. Please send the invoice by Thursday and I will confirm once it lands."
);
console.log(result.metrics);
console.log(formatReport(result));npm test
node bin/replytone.js "Maybe we can revisit this later if you want?"See from-the-studio.md for the wider vøiddo catalogue.
MIT.
Built by vøiddo — a small studio shipping AI-flavoured products, free dev tools, Chrome extensions and weird browser games.