different species of crabvietnamese mud crabsoft-shell crab
3
14 Comments

I audited 7 link shorteners before building mine — here's what nobody does, and I have zero users yet

I've been building Truthylink (https://truthylink.com) solo for about two and a half months. Before writing a single feature, I went and actually used Bitly, Short.io, Rebrandly, Cuttly, BL.INK, T2M, and Dub.co to see what a "good enough" link shortener even looks like — and found five gaps that showed up across all of them:

  1. No safety signal on the link itself — so every link on Truthylink gets scanned against Google Safe Browsing on creation and on every URL edit, with a warning interstitial if something's flagged.

  2. No one tells you when your destination breaks — so there's a daily job pinging every active link; you get notified on a 404, an expired SSL cert, or a load-time spike instead of finding out from a customer. (BL.INK has a version of this, but it's enterprise-gated.)

  3. "Bot filtering" stops at user-agent checks — so I added VPN/proxy detection and click-farm/repeat-clicker patterns, and show a real "clean click rate" instead of one trust-me number.

  4. Everyone tracks with cookies or a JS pixel — analytics here is server-side only, no cookies, no fingerprinting. Feels like the right side of GDPR/DPDP history to be on.

  5. Dark social is invisible everywhere — WhatsApp/Telegram/iMessage/Slack shares show up as "direct" in literally every tool I tried. ~70% of sharing happens there. Truthylink classifies it instead of dumping it in one bucket.

All five are free on every plan — I didn't want the interesting stuff to be the upsell.

Where I'm at: this is genuinely early. A handful of users, no real distribution yet — I wanted to get this in front of people who actually run link shorteners day-to-day before I do anything louder. If you've used Bitly/Short.io/Dub.co and there's an analytics blind spot that's actually cost you something, I'd rather hear about it now.

on July 2, 2026
  1. 1

    The dark social point genuinely surprised me, 70% of sharing being invisible in every existing tool is a wild blind spot nobody talks about. Respect for actually going and using all 7 competitors before writing a single feature, that's the part most people skip.

    1. 1

      Thanks, that means a lot the dark social thing is the one I got most excited about building too, so good to hear it lands the same way from the outside.

      And yeah, using all 7 instead of just reading their feature pages took way longer than I expected, but it's the only way I actually found the gaps. Reading a comparison page tells you what they claim. Using the product tells you what's actually annoying.

  2. 1

    Zero users with a shipped product is a distribution problem, not a product problem most of the time. Are you trying Reddit/communities yet or mostly launch channels?

    1. 1

      Good question, and the honest answer is: mostly launch channels so far this post, plus X and LinkedIn which I'm just about to start posting on. I haven't touched Reddit yet.

      I know that's a gap. Plan is to build a separate personal account there, spend a few weeks just being a normal person in relevant communities before ever mentioning what I built don't want to be the guy who shows up with a link on day one. Just haven't gotten to it yet, this post is honestly step one of actually doing distribution instead of just building.

      If you've done the Reddit thing before, curious what actually worked vs. what just got you ignored.

  3. 1

    The danger with one combined score is that it may hide the job the link is doing.A WhatsApp share, an ad campaign, and an agency client report probably don’t care about the same trust signal.For private sharing, safety may matter most.
    For ads, clean click rate may matter most.
    For client reporting, confidence in the numbers may matter most.
    For campaign ops, broken destination alerts may matter most.
    So maybe the first test is not “one score vs separate signals” yet.It’s finding which failure actually costs users something.Talk to 5 people already using Bitly / Short.io / Dub / Rebrandly and ask about the last time link data or link trust caused a real problem: bot clicks, broken destination, unsafe-looking link, unreliable report, or dark social hidden as direct.If the same failure repeats, that probably tells you which signal Truthylink should lead with.Until then, separate signals may be safer than one universal score.

    1. 1

      Yeah, that's fair — I was already halfway into "how do I combine these signals" mode, and you just pointed out I skipped a step. The real question isn't the scoring model, it's which failure actually costs someone something.

      Your four examples map pretty cleanly to how people are actually using it so far, from what I've seen that WhatsApp shares mostly care about safety, someone running an ad cares about clean click rate, and nobody's asked me about client reporting yet because I don't have agency users at this stage. That gap alone is useful tells me I don't actually know that one yet.

      I'll do what you said — go find people using Bitly/Short.io/Dub/Rebrandly and ask about the last time link data actually burned them. Not going to pretend I'll get to it this week, but it's a much better next step than guessing at a scoring formula.

      Thanks for pushing back on this genuinely more useful than agreement would've been.

      1. 1

        This is exactly the useful part.You were thinking about the scoring model, but the better question is probably the one you just wrote: which failure actually costs someone something?That feels much closer to the real wedge.The WhatsApp / ads / agency gap is already useful too. If nobody has asked about client reporting yet, that probably means it should stay as an assumption for now, not a product pillar.

        The next thing I’d be most curious to see is what repeats when you talk to those Bitly / Short.io / Dub / Rebrandly users.Not whether they like the features.
        More like:
        what was the last link-related failure that actually hurt them?
        bot clicks?
        broken destination?
        unsafe-looking link?
        bad campaign numbers?
        dark social hidden as direct?
        client report they couldn’t defend?
        If the same failure shows up a few times, that probably tells you much more than a score model could.Also, thanks for saying the pushback was more useful than agreement. That’s exactly the kind of product signal I’m trying to learn from too: not more positive feedback, but feedback that changes the next move.If you do have time to run those conversations later, I’d genuinely be interested to see what changed after.

        1. 1

          Appreciate this — the reframe is the right one. "Which failure actually costs someone something" beats "one score vs. separate signals" because it's testable and the score debate isn't.

          Agreed on keeping the four segments (private share / ads / agency reporting / campaign ops) as assumptions, not pillars. Client reporting is the best example — nobody's asked for it yet, so it doesn't get to be a pillar until someone does.

          I'll run the interviews with your exact framing: not "do you like this feature" but "what was the last link-related failure that actually hurt you" — bot clicks, broken destination, unsafe link, bad campaign numbers, dark social miscounted as direct, or a client report you couldn't defend. Whichever one repeats is the one I build around and lead with in messaging.

          I'll come back and post what I find — you asked to see what changed, and honestly that's a better forcing function than any deadline I'd set for myself.

          1. 1

            useful loop.The score question felt like a product-design decision, but the “what failure actually cost someone something?” question turns it into something you can test with real users.The part about client reporting is especially useful too.If nobody has asked for it yet, keeping it as an assumption instead of a pillar feels right. That alone prevents building around a segment that hasn’t shown up yet.What I’d be most interested to see later is not just which failure people mention once, but which one repeats across different users.If “bot clicks burned my ad data” keeps coming up, that probably points one way.If “unsafe-looking links hurt WhatsApp sharing” keeps coming up, that points another way.If nobody mentions agency reporting, that tells you something too.Really appreciate you taking the pushback seriously. This is exactly the kind of update that would be worth coming back with after the interviews — what changed in your thinking after hearing the same failure, or not hearing it at all.

            1. 1

              Good catch, I was thinking that "ask 5 people, see what they say" you're pointing at something sharper: it's not about any one answer, it's about what repeats. One person saying "bot clicks burned my ad data" is a data point. Three people saying it independently is a signal.

              I'll track it that way same failure showing up across different people, not just logged once and moved on. And if agency reporting stays silent across all 5, that's as useful an answer as any of the others repeating.

              Will come back with what actually repeated, and honestly, what changed in my thinking either way including if nothing repeats cleanly and I have to admit the segments aren't as clean as we guessed.

  4. 1

    What stood out to me isn't any single feature—it’s the shift from “shortening links” to “trusting links after they’re shared.” Most tools optimize creation. You're optimizing what happens after distribution, when the link is already outside your control. That’s a much harder problem space, but also a more defensible one if you get the feedback loop right between safety signals, breakdown detection, and real-world click quality.

    1. 1

      Thanks, that's a really good way to put it — better than how I've been describing it myself.

      You're right that "after it's shared" part is the hard bit. Right now I show three separate things — is the link safe, is the destination still working, and how clean the clicks are — but they're just sitting next to each other, not combined into one score. I haven't merged them because I'm not sure that's even the right move. Someone sharing a link in a WhatsApp group probably cares most about safety. Someone running ads probably cares most about click quality. If I squash it into one number, I might hide the thing they actually care about.

      So honestly, I don't have that part solved yet. Have you seen this kind of problem before — combining a few different signals into one score vs just showing them separately? Curious how you'd think about it.

      1. 1

        I have seen it, and I don't think the core decision is whether to combine the signals into one score or keep them separate.

        I think there's a bigger strategic decision underneath that question, and it's one that will shape how people interpret your product as it grows. I don't think I can explain the reasoning properly in a thread without oversimplifying it.

        If you're interested, what's the best email to reach you on?

        1. 1

          Ha, fair enough; some things really don't compress well into a comment thread. I'd love to hear the fuller version, especially the "as it grows" part, since that's usually the stuff that's easy to get wrong early and expensive to fix later.

          [email protected] - email me whenever it's good for you, no rush.

Trending on Indie Hackers
The hardest part isn't building anymore User Avatar 62 comments I sold $6,773 in 2 weeks, with almost no existing community. User Avatar 57 comments Ferguson is LIVE on ProductHunt today... so I audited their homepage first! User Avatar 37 comments Why Remote Teams Stop Talking (And Don't Even Notice It) User Avatar 37 comments Before you build another feature, use this workflow User Avatar 33 comments Built a local-first Amazon profit-by-SKU + QuickBooks/Xero journal tool. Looking for founding users. User Avatar 32 comments