Slugy is an open-source, MIT-licensed link management application written in TypeScript that lets developers and marketing teams shorten URLs, generate QR codes, publish bio-link pages and track click performance from a single Next.js application.
What it is
Slugy is a self-hostable link management tool built on Next.js with TypeScript and Tailwind CSS on the front end, Better-Auth for authentication, and Prisma as the ORM against a Neon Postgres database. Upstash provides caching, Tinybird handles analytics, and Resend delivers email notifications, with Vercel as the documented hosting and deployment target. The project lives in the JavaScript and TypeScript ecosystem and is distributed under the MIT licence, with 91 stars, 15 forks and 2 open issues recorded when this listing was written.
The concrete problem it solves is link shortening that would otherwise be rented from a commercial service. Teams that need branded short links, scannable QR codes and click-level reporting can run that stack themselves instead of routing every redirect and every click record through a third party. It replaces a hosted short-link subscription with an application the operator deploys, keeps the database for, and points its own custom domains at.
Key capabilities
- Link shortening that produces branded, concise URLs for sharing.
- Custom domains, so short links are served from a domain the operator owns instead of a vendor's.
- QR code generation for shortened links, for print and offline scanning.
- Analytics dashboard backed by Tinybird, reporting detailed click insights per link.
- Bio links: one personalized page that collects all of an operator's links.
- Better-Auth for account and session handling, with Prisma managing schema and migrations against Neon Postgres.
- Resend-backed email notifications, with Upstash caching in front of reads.
Who uses it and how
- Marketing teams that want branded campaign links on their own domain rather than a hosted shortener.
- Developers and small product teams already running Next.js, Prisma and Postgres who can add a link service without introducing a new runtime.
- Anyone publishing print material or physical signage, where a generated QR code turns a printed link into a scannable destination.
- Creators and solo operators who need a bio-link page and click analytics in the same tool as their short links.
- Self-hosting operators who need click data to stay inside their own Neon database and Tinybird workspace.
Getting started
The README documents the stack rather than install commands: deploy to Vercel, provision Neon Postgres, Upstash, Tinybird and Resend, then run the Next.js app with Prisma against that database. A hosted option is available at https://slugy.co/app if self-hosting is not wanted.
How it compares
No list of paid products this project replaces is provided in the facts, and the facts name no directly comparable link-shortening tools, so Slugy stands alone in this registry on that axis.
When to use it — and when not to
A self-hoster must operate a Neon Postgres database, an Upstash cache, a Tinybird analytics workspace, a Resend account for email and a Vercel deployment, and must manage Better-Auth secrets and at least one custom domain, which is five external services before the first short link resolves. Anyone unwilling to carry that footprint, or who only needs occasional link shortening, should use a hosted service instead. The README is also sparse on setup detail: it lists the stack in a table but does not walk through environment configuration, so expect to read the source to get a deployment running.