Link management shouldn't be complicated since most URL shorteners put essential features—such as custom slugs, password protection, and analytics—behind costly monthly paywalls.
In order to deal with this, I created WafyURL, a fast, secure and fully featured link management platform which is designed with a focus on speed and privacy.
🌐 Live Application & Source
- Live Application: url.amwafy.xyz
- GitHub Repository: github.com/afeemuhammodwafy1/wafyurl
⚡ Key Features
- Custom Slugs: Create branded and easy-to-remember links in order to enhance click-through rates.
- Detailed Analytics: Monitor the total number of clicks, geographic location, device types, operating systems, and referrers without using heavy third-party trackers.
- Password Protection: Include an optional password to secure sensitive destinations using SHA-256 encryption.
- Auto-Expiration: Set links to expire by themselves after 1 hour, 24 hours, 7 days, or 30 days.
- Bulk Shortening: Generate multiple shortened URLs at the same time with just one click.
- QR Code Generation: Instantly generate downloadable QR codes on the client side for use in printing and marketing campaigns.
- Destination Preview: Extract Open Graph metadata on the server side to preview destination links before redirection.
🛠️ Architecture & Tech Stack
- Backend: Python 3.11 together with Flask, which offers a lightweight and modular routing base.
- Database: PostgreSQL running on Neon Serverless, managed via Flask-SQLAlchemy.
- Hosting & Compute: Vercel Edge Serverless Functions to achieve minimal global latency.
- Frontend: Semantic HTML5, Vanilla JavaScript, and modern CSS3 Glassmorphism without employing heavy frameworks.
💡 Engineering Highlights
1. Optimising the Database for a Serverless Environment
Since serverless backends tend to open and close connections rapidly, this can cause standard database pools to become exhausted. To make sure response times remain stable during traffic surges, persistent connection pooling, connection recycling, and automated pre-pings were configured.
2. Zero-Dependency Client Execution
Key frontend features—such as dynamic QR code rendering and the collapsible FAQ accordion—are handled natively instead of relying on large third-party JavaScript libraries. This ensures minimal bundle sizes and faster Time-to-Interactive (TTI).
3. Integrated Security & Abuse Prevention
To ensure platform stability, a sliding-window rate limiter based on IP addresses prevents spam and brute-force requests. Furthermore, password-protected endpoints verify SHA-256 hashes prior to executing any redirect logic.
👨💻 About the Author
Built by Afee Muhammod Wafy.
For more projects, visit amwafy.xyz or connect on GitHub.
Top comments (0)