top | item 21867994

Kutt – a modern, open-source URL shortener

109 points| hugodutka | 6 years ago |github.com | reply

58 comments

order
[+] Meph504|6 years ago|reply
To me at this point I question the wisdom of even using URL shorteners.

They almost all get abused by spammers and malware, they end up getting blacklisted, and as a best practice they are generally advocated for end users not to click on them.

In a Corp business environment I haven't found the pains that come with using them worth the shorter URL.

What places are they still widely used outsider of social media?

[+] romwell|6 years ago|reply
>What places are they still widely used outsider of social media?

Is that not a good enough reason to begin with?

But really, URL shorteners are the direct result of:

1)Most websites not having human-readable URL's

2)Many places not allowing HTML-style links

Both (1) and (2) apply to this forum; e.g.:

news.ycombinator.com/reply?id=21870064&goto=item%3Fid%3D21867994%2321870064

As a result, we have URL shorteners. They perform the function of <a href="">link text</a>, with the advantage of the users being able to type them by hand, if needs be.

They are immensely useful as an internal tool: if you run one locally, URLs of the form http://link/useful-link-description will quickly become the norm.

[+] mgoblu3|6 years ago|reply
We at least use one internally at my big corp. It's nice because instead of routing to some non-vanity URL that looks more like a raw Azure host, we can register x.company.com/whatever to redirect to it. Can only access the links and shortener from inside the firewall.
[+] flafla2|6 years ago|reply
They're useful when you need to get people (especially large groups) to type in a URL. For example, I use them when teaching classes to e.g. fill out attendance sheets because I can simply write the url on the board.

I'd agree that if the method of delivery is a link, there is no valid reason to use a shortener.

[+] notfoss|6 years ago|reply
Many companies use shortened URLs in SMS messages.
[+] xwowsersx|6 years ago|reply
What makes a project "modern"? Seriously curious, as it seems to often be used to describe projects/tools. Is it that the tools and languages used to build it are new? If so, should I care? I suppose if the point is to showcase a useful project in some new language/framework, then I'd care. But otherwise, do I? Like, what if this were built in some really old language and with ancient tools? Feel free to ignore this ramble, just curious what people think.
[+] nine_k|6 years ago|reply
Hmm, TypeScript + deployed as a container?

Not cutting-edge, but definitely not obsolete, and does have obvious benefits over e.g. a traditional plain Python-based app which you need to package and host yourself.

[+] mikl|6 years ago|reply
A full-scale database server (Neo4j or PostgreSQL), a heavy frontend React app with Redux. A little over-engineered for a URL shortener, I think. That’s a lot of spinning wheels to maintain for a relatively simple service.
[+] whermans|6 years ago|reply
You may want to think twice before marketing this to anyone who speaks Dutch.
[+] LeonM|6 years ago|reply
I guess the same was true for Flickr.

But trying to find a brand name that doesn't offend in any language, while also not having to pay $10k to some domain squatter is basically impossible nowadays.

[+] yborg|6 years ago|reply
Reminds me of how the Zune amused French-Canadians.
[+] ekianjo|6 years ago|reply
the Dutch equivalent of the c-word in English.
[+] strict9|6 years ago|reply
I feel better about this than a commercial service I suppose.

But links should be what they are—the address of a page and not the product of a cloaking and tracking service that takes you to a page with added delay.

[+] petesaia|6 years ago|reply
Agreed. FWIW, our reason for implementation is to reduce character count for SMS. Not for tracking/cloaking.
[+] joegahona|6 years ago|reply
Is there a better solution for what to do when space is at a premium? The choices are:

- Don't post the link

- Post the link and let it get lopped off in the middle

- Post the link without adequate context surrounding it

- Create a shortened link that points to the original

[+] ekianjo|6 years ago|reply
> we moved from Neo4j

Strange, why even use graph databases for this kind of service? It does not seem like it would be needed for this use case.

[+] bszupnick|6 years ago|reply
I started my project (https://onefiftyone.run) using Mongo. It wasn't intentional, that was simply my stack.

We quite quickly outgrew it, and had to rip out that plumbing for Postgres. It wasn't fun, but in retrospect I realise I was using the new, cool, hip technologies instead of actually evaluating things on their merits.

Maybe this project fell into the same trap?

[+] aspaviento|6 years ago|reply
There's a link in the official Microsoft documentation (for office-js if I remember it right) that uses bitly or a similar service. I don't what happened to that link but now, when clicked, it tries first to load some random porn site and then redirects to a YouTube video (about a car or something like that). I wanted to report it, but didn't find an easy way of doing so, so there must be still there trying to add malware or who knows what to the poor people reading official Microsoft documentation.
[+] codingslave|6 years ago|reply
I've been through this source code, really clean and well written modern javascript (as far as I can tell). I was completely new to this whole webstack, learned a ton about javascript and building front ends from this. I think an underrated way to get good at coding or even to learn whole new methods is to extend well written open source code. I find myself regularly working with high quality code off github, learning more from the developers on there than the developers I interact with at work.
[+] poeti8|6 years ago|reply
Hey, creator of Kutt here! Wanted you to know that I'm refactoring client side as well to use TypeScript and new React features like hooks to ditch Redux, and I'm really really excited to push this code into production, so much cleaner now. You check the progress here:

https://github.com/thedevs-network/kutt/tree/feature/refacto...

[+] cosmotic|6 years ago|reply
What makes it modern?
[+] jlgaddis|6 years ago|reply
It uses the latest tech buzzwords, it seems.
[+] dstroot|6 years ago|reply
Express server, React client, Typescript. Not exactly modern (expressjs came out in 2010) but a good "all js" simple architecture.
[+] mesaframe|6 years ago|reply
¯\_(ツ)_/¯

I skimmed the repo and myself couldn't find anything special tbh.

[+] joegahona|6 years ago|reply
Is its open-source-ness what makes it unique?