Today I discovered…
Kutt
A URL shortener service to create, share and track short links. Comes with useful features such as custom domain support, built-in analytics, and RESTful APIs.
💖 What I like:
3rd party packages: Community has created Kutt API clients (for Javascript, Rust, C#, Go, BAsh, etc.), GUI, and VS Code extension. These packages give further confidence that it will be easy to integrate Kutt in other systems.
Browser extensions: Makes it easy to create and manage the links.
👎 What I dislike:
Signup disabled, couldn’t test essential features: When I cloned the source code and started the project, I saw that the signup functionality is disabled. I didn’t have much time to dig into the code and make it work, so the only thing I could see working was the capability to shorten URL anonymously. That worked but I could not test the analytics and link management functionality which would be critical to decide whether to use this project or not.
Outdated dependency: There was one dependency that npm did not allow to install by default. It blocked the project setup. But after checking the issue comments on GitHub project, went ahead with the
--force
option to install the same version of the dependency. As the issue is opened, I hope this will be fixed in upcoming releases.Default environment variable: This was another thing that blocked the project setup progress. Without specifying
MAIL_PORT
, the project would not run. Although it was a minor issue which was fixed after putting in 587 in there, but it would have saved me time if this default value was given in example env. I would have had a better experience to reach to that joy of running the project smoothly for the first time.Another alternative but with its own shortcomings: Overall, I can see that it is going to take some efforts to put this project in production. And for that reason, I explored another Bitly alternative - Dub (although it is AGPL license, has dependency on Vercel Edge Functions and it is relatively new). But that’s a post for another day.
⭐ Ratings and metrics
Based on my experience, I would rate this project as following
Production readiness: 7/10
Docs rating: 7/10
Time to POC(proof of concept): 1 day
Author: Pouria Ezzati
Demo | Source
Tech Stack: Node.js, Postgres, Redis, Next.js, Express.js, Passport, React
If you discovered an interesting Open-Source project and want me to feature it in the newsletter, get in touch via the form above. To support this newsletter and Open-Source authors, follow #OpenSourceDiscovery on LinkedIn and Twitter
While we're discussing about Link shorteners, let's also understand a strong opinion against such services. Some say that all link shortening services are time ticking bomb, they always end up being dead very soon. There's a project that aims to consolidate all the short links so these short link don't end up being dead links once these services are not serving anymore.
https://wiki.archiveteam.org/index.php/URLTeam