Packaged compare brief · Deep Dive · replytone · ambiguity-meter · soft-yes-or-no · GitHub · npm · All tools · Contact
profile-red-flags checks a dating profile for a short list of deterministic risk signals.
Best fit search intent:
- hinge bio red flags
- bumble bio red flags
- tinder bio red flags
- dating profile red flag checker
- profile rewrite checklist
- matchmaker profile screen
It does not pretend to know whether someone is "good" or "bad". It looks for practical text patterns that often create trouble early:
- vagueness
- pressure
- cynicism
- inconsistency
- low-effort filler
It also looks for balancing green signals:
- specificity
- warmth
- clarity about intent
The result is a quick call:
looks fineread carefullyproceed slowlylikely mismatch
tells is the deeper paid product. It reads what people leave unsaid across messages, people, and profiles.
But a lot of dating-profile intent does not begin with "run a full interpersonal analysis." It begins with:
- "is this profile just vague and empty?"
- "is this trying too hard to sound superior?"
- "is this giving pressure without saying it directly?"
- "am i ignoring obvious warning signs because the photos are good?"
profile-red-flags is the small first door for that moment.
It also works as a fast first-pass in dating-coach, matchmaker, profile-review, and profile-rewrite workflows where the practical question is not "who is this person really?" yet. The practical question is whether the bio itself is inviting projection, pressure, or obvious mismatch risk.
If the user already knows one profile is not enough, the fastest paid next step is here:
https://tells.voiddo.com/deep-dive/?ref=profile-red-flags-readme
If they still want one more free browser-first checkpoint before buying deeper analysis, the most useful adjacent tools are:
ambiguity-meterfor one incoming message that feels mixed or vaguereplytonefor the draft they want to send nextsoft-yes-or-nofor warm replies that still might be noncommittal
The web app now also ends with a clearer paid next step instead of one vague flagship jump:
Deep Divefor one loaded profile or one recurring person:$19 onceStarterfor repeat profile/message reads:$14.99/moPractitionerfor coach, mediator, or trainer workflows:$99.99/mo
The acquisition path is now explicit across package, browser, and paid surfaces:
- packaged first pass:
profile-red-flags - still unsure and want one more browser tool:
ambiguity-meter,replytone, orsoft-yes-or-no - one profile is clearly not enough:
Deep Dive - repeat profile or message reads:
Starter - client-facing workflows:
Practitioner
If they are reading inside npm or GitHub and want the packaged version that ships with the CLI, use:
compare-chatgpt-gemini.md
npm install -g @v0idd0/profile-red-flagsIf the user needs one adjacent browser-first check before buying deeper analysis:
ambiguity-meterfor mixed signals inside one incoming message:https://tells.voiddo.com/ambiguity-meter/?ref=profile-red-flags-readmereplytonefor warmth, pressure, and urgency in the draft you want to send next:https://tells.voiddo.com/replytone/?ref=profile-red-flags-readmesoft-yes-or-nofor replies that sound warm but still noncommittal:https://tells.voiddo.com/soft-yes-or-no/?ref=profile-red-flags-readmeboundary-checkfor the first limit you want to set clearly:https://tells.voiddo.com/boundary-check/?ref=profile-red-flags-readme
profile-red-flags "No drama. If you can't handle sarcasm, keep scrolling. Looking for someone spontaneous who can keep up."cat profile.txt | profile-red-flagsprofile-red-flags --json "Bookstore dates, Sunday walks, and honest conversation. I like people who say what they mean."overall: read carefully
risk score: 5.3/10
signals:
- vagueness: 4.8
- pressure: 6.1
- cynicism: 6.7
- inconsistency: 3.0
- effort: 4.9
green signals:
- specificity: 3.4
- warmth: 4.2
why:
1. Boundary or superiority language is doing a lot of work.
2. The profile says what it does not want more clearly than what it does want.
3. Specific detail is thin, so projection risk is high.
next:
- quick next paid step: https://tells.voiddo.com/deep-dive/?ref=profile-red-flags-cli
- recurring reads: https://tells.voiddo.com/?ref=profile-red-flags-cli
The tool is fully heuristic:
- dismissive or adversarial phrases raise cynicism
- command language and "keep up" energy raise pressure
- thin generic filler raises vagueness
- contradictory cues raise inconsistency
- concrete details and grounded preferences raise specificity
- warm or respectful phrases raise warmth
That makes it useful for a first filter, not a final judgment.
- quick profile triage before matching or replying
- reality-checking a profile that feels attractive but off
- dating-coach or matchmaker review workflows that need a fast deterministic baseline
- profile rewrite or dating-consultant intake before rewriting a bio
- matchmaking intake where one profile needs a first-pass risk read before a call
- coaching content about dating-profile pattern recognition
- creator/blogger tools around "what this bio signals"
- safety or abuse certainty
- private-investigator claims
- full compatibility prediction
- deception detection
- deciding whether someone is dangerous from one profile alone
This tool is narrow on purpose. If you need the deeper read, use tells.
Because a quick profile triage tool should be:
- cheap
- immediate
- repeatable
- explainable
For this job, a deterministic checker is often better than a vague one-off prompt:
- no API key
- no prompt fiddling
- no latency roulette
- no surprise token bill
- same profile gives the same baseline read
Then, when one profile is not enough and the user wants the deeper interpersonal read, the upgrade path is not "more tokens." It is tells, which is opinionated around messages, people, and profiles.
This is also why the CLI now points to exact next surfaces instead of a generic homepage:
- paid deep dive:
https://tells.voiddo.com/deep-dive/?ref=profile-red-flags-cli - browser-first ambiguity check:
https://tells.voiddo.com/ambiguity-meter/?ref=profile-red-flags-cli - browser-first draft check:
https://tells.voiddo.com/replytone/?ref=profile-red-flags-cli
The reusable package-side compare page lives here:
compare-chatgpt-gemini.md
profile-red-flags now treats the packaged compare brief as the reliable compare asset for npm/GitHub readers deciding whether to install:
- packaged compare brief:
compare-chatgpt-gemini.md - best live browser-first companions:
ambiguity-meter,replytone, andsoft-yes-or-no
That split matters because package readers need a self-contained explanation that ships with the tarball, while browser-first users usually need a working adjacent check more than another abstract comparison.
When the quick check is not enough, the web app routes into three concrete tells paths:
Deep Dive—$19 oncefor one loaded profile or one recurring personStarter—$14.99/mofor repeat profile or message readsPractitioner—$99.99/mofor coach, mediator, or trainer workflows
This matters because the job of the tool is not only to score one profile. It is to capture the exact moment when someone realizes that attraction, confusion, and pattern-reading need more context than one bio can give.
This repo is one part of the tells acquisition cluster:
replytone— score an outgoing draft before sendingambiguity-meter— reality-check one incoming message for mixed signalsprofile-red-flags— triage profile text before you over-invest
The point is not three random utilities. The point is three narrow intent doors into one paid product.
That cluster also maps cleanly onto practitioner workflows:
replytonefor outgoing draft reviewambiguity-meterfor incoming mixed-signal readsprofile-red-flagsfor before-you-match or before-you-reply profile triage
And for profile-specific buyer work:
- dating coaches and consultants doing profile rewrites
- matchmakers screening bios before a first call
- creators teaching profile-audit patterns with a deterministic baseline
If you want the browser-first free/cheap version of that cluster, start with the tool that matches the next question:
- incoming-message ambiguity:
https://tells.voiddo.com/ambiguity-meter/?ref=profile-red-flags-readme - outgoing-draft tone:
https://tells.voiddo.com/replytone/?ref=profile-red-flags-readme - warm-but-vague replies:
https://tells.voiddo.com/soft-yes-or-no/?ref=profile-red-flags-readme
If the user is not ready for the paid deep-dive yet, route them into the adjacent free checker that matches the next question:
ambiguity-meterfor one incoming message that feels mixed, flattering, or unclear:https://tells.voiddo.com/ambiguity-meter/?ref=profile-red-flags-related-readmereplytonefor the first message or follow-up draft you want to send after the profile check:https://tells.voiddo.com/replytone/?ref=profile-red-flags-related-readmesoft-yes-or-nofor a reply that sounds interested but still too noncommittal to trust:https://tells.voiddo.com/soft-yes-or-no/?ref=profile-red-flags-related-readmeboundary-checkfor bio or message dynamics that already need a clearer limit instead of more projection:https://tells.voiddo.com/boundary-check/?ref=profile-red-flags-related-readme
import { analyzeProfileRedFlags } from "@v0idd0/profile-red-flags";
const result = analyzeProfileRedFlags(
"No drama. Looking for someone spontaneous who can keep up."
);
console.log(result.summary.verdict);
console.log(result.signals);npm test
node bin/profile-red-flags.js "Bookstore dates, Sunday walks, and honest conversation."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.