Architecture
How LinkBreeze is built — Next.js, Drizzle, SQLite.
Tech Stack
- Framework: Next.js 16 (App Router)
- Database: SQLite via better-sqlite3
- ORM: Drizzle ORM
- Styling: Tailwind CSS v4
- Icons: lucide-react
- Fonts: next/font/google (9 families)
Structure
src/
app/
(admin)/ # Admin routes (dark aurora UI)
(public)/ # Public link pages (user-themed)
api/ # API routes
components/
ui/ # Primitives (Button, Input, Card)
admin/ # Admin composites
aurora/ # Background atmosphere
public/ # Public page components
lib/ # Shared utilities, theme system
server/
actions/ # Server actions
queries/ # Database queries
db/ # Drizzle schema, migrations
Database Schema
- users: admin accounts
- pages: multi-page support with SEO, analytics, custom CSS
- links: 8+ types with scheduling, click counts, auto-favicon
- themes: granular theme tokens (30+ fields)
- analytics: pageviews and clicks with geo/device/referrer
- subscribers: email capture
Performance
- Server Components by default, client only when needed
- ISR for public pages
- SQLite is fast enough for single-tenant self-hosted use
- No external services or CDNs required