LinkHub Pro
A production-ready link-in-bio SaaS platform. Users get a public profile page, drag-and-drop link management, click analytics, QR code sharing, and custom domain support — deployed live on Render with Neon PostgreSQL.
Project Overview
LinkHub Pro is a full-stack SaaS web application inspired by Linktree. It gives every user
a clean public page at /username where they can showcase all their important
links — portfolio, GitHub, LinkedIn, social media — from a single shareable URL.
Built entirely from scratch with Flask and deployed live on Render with a Neon PostgreSQL database. The project covers the full SaaS lifecycle: authentication, user settings, analytics, file uploads, and production deployment.
Key Features
- User authentication — register, login, logout with CSRF protection and rate limiting
- Unlimited links — add, delete, and reorder with drag & drop (Sortable.js)
- Click analytics — every link click is tracked with a daily bar chart
- QR code generation — download a PNG QR code for your profile page
- Copy link button — one-click copy of your profile URL
- Avatar upload — secure file upload with size and type validation
- 4 themes — Light, Dark, Neon, Professional — saved per user in the database
- Custom domain — map your own domain to your profile page
- Remember me — persistent 30-day login sessions
Architecture
backend/
app.py ← Flask app factory
db.py ← SQLAlchemy instance
models.py ← User, Link, Click models
routes/
auth.py ← Register / Login / Logout
dashboard.py ← Link CRUD + profile + QR
public.py ← Public profile + click tracking
analytics.py ← Analytics JSON endpoint
templates/ ← Jinja2 HTML templates
static/ ← CSS, JS, avatars
migrations/ ← Flask-Migrate / Alembic
Tech Stack
- Python 3 + Flask — backend framework
- PostgreSQL (Neon) — production database
- SQLAlchemy + Flask-Migrate — ORM and schema migrations
- Flask-Login + Flask-WTF — auth and CSRF protection
- HTML / CSS variables / Geist + Instrument Serif fonts
- Chart.js — click analytics bar chart
- Sortable.js — drag and drop link reordering
- qrcode[pil] — server-side QR code PNG generation
- Render — free-tier hosting with auto-deploy from GitHub
Screenshots