A premium, guns.lol-style bio-link platform built for creators. Every profile is a fully customizable landing page with animated themes, music, video, gallery, analytics, and more.
Visit your own profile at https://your-domain.com/bio?username=yourname
| Layer | Technology |
|---|---|
| Backend | Node.js 20, Express, SQLite |
| Auth | JWT (HTTP-only cookies), bcrypt, Passport.js |
| Frontend | Vanilla JS, Premium CSS (glassmorphism, neon, glitch) |
| Icons | Custom SVG (no emojis) |
| QR Codes | qrcode library |
| Analytics | SQLite time-series |
# Install dependencies
npm install
# Start the server
npm start
# or
node server.js
# Visit http://localhost:5000
Create a .env file or set these in your environment:
JWT_SECRET=your-secret-key
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
GITHUB_CLIENT_ID=...
GITHUB_CLIENT_SECRET=...
DISCORD_CLIENT_ID=...
DISCORD_CLIENT_SECRET=...
OAUTH_CALLBACK=https://your-domain.com
PORT=5000
POST /api/auth/register — Register with username, email, passwordPOST /api/auth/login — Login with username/passwordPOST /api/auth/logout — Clear JWT cookieGET /api/auth/me — Get current userGET /api/auth/oauth/google — Google OAuthGET /api/auth/oauth/github — GitHub OAuthGET /api/auth/oauth/discord — Discord OAuthGET /api/bio/public/:username — Public bio dataPUT /api/bio/me — Update own bioGET /api/bio/qr/:username — Generate QR code PNGGET /api/links/me — Get own linksPUT /api/links/me — Save/reorder linksPOST /api/links/click/:linkId — Track link clickPOST /api/analytics/view/:username — Track bio viewGET /api/analytics/me — Get analytics (views, clicks, charts)GET /api/admin/users — List users (admin only)PUT /api/admin/users/:id — Update user (admin only)├── server.js # Express server, middleware, routes
├── db.js # SQLite schema & initialization
├── middleware/
│ └── auth.js # JWT auth, RBAC, role guards
├── routes/
│ ├── auth.js # Login, register, JWT
│ ├── oauth.js # Google, GitHub, Discord OAuth
│ ├── bio.js # Bio CRUD, QR codes
│ ├── links.js # Link management
│ ├── gallery.js # Gallery images
│ ├── media.js # Music/video embeds
│ ├── analytics.js # Views, clicks, charts
│ └── admin.js # Admin panel API
├── public/
│ ├── index.html # Landing page
│ ├── dashboard.html # Bio builder dashboard
│ ├── admin.html # Admin panel
│ ├── bio.html # Public bio page
│ ├── style.css # Premium design system
│ ├── js/
│ │ ├── app.js # Global utilities, particles, auth
│ │ ├── dashboard.js # Bio builder logic
│ │ ├── bio.js # Bio page renderer
│ │ ├── admin.js # Admin panel logic
│ │ ├── auth.js # Auth API helpers
│ │ ├── links.js # Link drag-and-drop
│ │ ├── gallery.js # Gallery uploader
│ │ ├── media.js # Media embeds
│ │ └── analytics.js # Analytics charts
│ ├── icons/
│ └── assets/
├── package.json
├── README.md
└── .gitignore
| Theme | Description |
|---|---|
| Dark | Default deep purple/black |
| Light | Clean white/gray |
| Cyber | Matrix green terminal |
| Neon | Hot pink/magenta |
| Midnight | Deep blue |
| Sunset | Warm orange/red |
| Ocean | Cool blue/cyan |
| Forest | Green/nature |
MIT