Skip to content
MKishoreDev

MKishoreDev/Redirox

Live in production

Minimal, modern, open-source URL shortener built with Flask and MongoDB.

Open-source URL shortener — short links, QR codes, password protection, expiry windows, and a published Python SDK. Built with Flask & MongoDB.

4 0HTMLPush 9d agoListed 3d agoNo license on GitHub

redirox.vercel.app

developer-toolsflasklink-shortenermongodbopen-sourcepythonqr-coderedirox
  • HTML46.5%
  • CSS32.2%
  • JavaScript14.8%
  • Python6.5%
View on GitHub

Report a problem

1 Review

Redirox is a clean, approachable URL shortener with a good sense of product polish for a small Flask project. The README immediately communicates the intent: “Smart Links. Clean Routes.”, and the live-product framing is stronger than a lot of beginner URL shorteners because it includes not just random short links, but password protection, expiration dates, QR code generation, copy/share actions, a polished 404 page, and a separate Python SDK story. Looking through the Flask app, the core flow is easy to follow: /shorten validates a URL, generates a six-character code, stores it in MongoDB, optionally hashes a password with Werkzeug, optionally creates a QR code, and then /<code> handles redirects while checking expiration and password protection. That is a solid minimal architecture.
If I were using the app as a visitor, the experience would be straightforward: paste a long URL, optionally set a password or expiration, choose whether to generate a QR code, then copy or share the generated short link. The UI code shows real attention to presentation: dark mode, responsive form sections, QR download, native share support, helpful error states, and dedicated password/404 templates. I also like that the project is not trying to force accounts or dashboards before the basic shortening experience is good. That matches the project’s stated philosophy well.
The main areas to tighten are around reliability and trust. The README advertises custom short URLs, but the current backend appears to generate random codes only, so either custom aliases should be implemented or the docs should be adjusted. A setup section would also help a lot: explain MONGO_URI, local MongoDB requirements, how to run Flask locally, and how deployment is expected to work. I did not find tests or a GitHub Actions workflow, and this project would benefit from even a small test suite covering URL validation, expiration, password-protected redirects, QR responses, and duplicate-code behavior. Since URL shorteners are often abused, future work should also consider rate limiting, malicious URL reporting, admin cleanup, and a safer password flow than putting the password in the redirect query string after verification. Overall, Redirox already has the feel of a usable product; the next step is making the implementation and documentation as polished as the interface.