When building modern web applications, URL shorteners are often treated as simple toy projects. But once you consider sub-5ms redirection speeds, high-concurrency traffic surges, dynamic geo/device routing, and strict GDPR privacy, link orchestration becomes a serious engineering challenge.
I wanted to solve this by building LinkLift — an enterprise-grade, self-hosted URL shortener and link orchestration platform built on ASP.NET Core (.NET 10), React 19, and Docker.
⭐ GitHub Repository: github.com/vpritesh/LinkLift (MIT Licensed)
🚀 What LinkLift Does
- Sub-5ms Redirection Engine: Hybrid L1 in-memory + Redis L2 distributed caching for instant resolution under heavy load.
-
Dynamic Conditional Routing: Conditional rules that direct visitors based on:
- Country (Geo-IP): US visitors to your US store, EU visitors to your EU site.
- Device & OS: Automatically route mobile users to app stores and desktop users to web portals.
- Real-Time Click Telemetry: Live click streaming via SignalR WebSockets and Redis Pub/Sub — no page refreshes needed.
- GDPR & Privacy First: Built-in BotShield crawler filtering, daily-salted SHA-256 IP anonymization, and automated 90-day retention purge workers.
-
Modern Executive Dashboard: Clean Charcoal-Blue theme, collapsible sidebar, global command palette (
Ctrl+K), and SVG/PNG QR code generator. - Multi-Server Fleet Switcher: Switch and manage multiple remote LinkLift instances right from the browser.
🏛 Architecture & Tech Stack
LinkLift follows Clean Architecture with strict separation of concerns:
- Backend: ASP.NET Core 10 Minimal APIs, C# 13, EF Core 10
- Frontend: React 19, TypeScript, Tailwind CSS, Vite
-
High-Throughput Channels: Bounded
System.Threading.Channelsqueue to asynchronously batch click events to SQLite, Postgres, or SQL Server without blocking HTTP request threads. - Cache & Pub/Sub: Redis L2 cache and Redis SignalR bridge.
🐳 Quick Start with Docker
You can test the entire cluster locally in under 60 seconds:
git clone https://github.com/vpritesh/LinkLift.git
cd LinkLift
docker compose up -d --build
-
Dashboard:
http://localhost:3000 -
API & Swagger:
http://localhost:5000/swagger -
Default Master API Key:
ll_live_master
💬 Feedback Welcome!
The project is completely free and open-source under the MIT license.
I would love to hear your feedback on the architecture, Docker setup, and features. If you find it interesting, please consider starring the repository on GitHub!
Top comments (0)