A modern Linktree-style SaaS for creators, developers, freelancers, and brands to manage, customize, analyze, and share all their links from one polished public profile.
LinkDeck.in is a full-stack Linktree-style SaaS that helps users create one clean public profile for their most important links, social platforms, projects, content, resources, and collections.
The V1 product includes authentication, onboarding, a dashboard for managing links and collections, public profile rendering, theme customization, social icons, live preview, account settings, help content, and basic analytics for profile views and link clicks.
LinkDeck is built for creators, developers, freelancers, and brands who want a polished shareable page without building a full website from scratch.
- Public profile pages at
/username - Authentication with email credentials, Google OAuth, and GitHub OAuth
- Guided onboarding for username, theme, platforms, links, and profile details
- Link management with add, edit, delete, visibility toggle, URL normalization, and ordering
- Collections for grouping related links and resources
- Profile customization for avatar, display name, username, and bio
- Theme customization for background, typography, buttons, icon color, and layout styling
- Real-time dashboard preview with a phone-style public page renderer
- Insights dashboard for profile views, link clicks, CTR, top links, charts, and recent activity
| Links | Design |
|---|---|
![]() |
![]() |
| Landing page | Insights |
|---|---|
![]() |
![]() |
LinkDeck V1 includes a complete theme and preview workflow for customizing public profiles without code.
Theme and preview features include:
- Default themes stored in the database
- User customizations for theme overrides
- Background styles including fill, gradient, blur, and pattern modes
- Button styling for solid, glass, and outline styles
- Button radius and shadow controls
- Text styling for title, profile text, bio, and fonts
- Icon color customization for social icons
- Real-time dashboard preview using Zustand preview state
- Public rendering through the shared theme profile renderer
The same theme data that powers the dashboard preview is used to render the final public /username page.
LinkDeck V1 includes a lightweight event-based analytics system for public profiles and links.
Analytics features include:
- Profile views recorded when visitors open a public profile
- Link clicks tracked through redirect and click endpoints
- CTR calculation based on profile views and total clicks
- Top-performing links ranked by engagement
- Recent activity for profile and link events
- Activity charts powered by dashboard analytics data
- Event-based storage using the
AnalyticsEventPrisma model
The analytics system is intentionally focused on useful creator insights: what visitors viewed, what they clicked, and which links are performing best.
LinkDeck.in is built as a full-stack Next.js App Router monolith.
Architecture highlights:
- App Router monolith for landing pages, auth pages, onboarding, dashboard, help center, account settings, and public profiles
- Server Actions for protected dashboard mutations such as links, collections, profile updates, social icons, theme saves, account actions, and onboarding
- API Routes for auth-related flows, OTP verification, username completion, image uploads, redirect tracking, and click tracking
- Prisma ORM v7 + PostgreSQL for persistence, schema modeling, relational data, and analytics events
- Redis Cloud in production and Docker Redis locally through
REDIS_URL/ioredisfor OTP, bootstrap sessions, cooldowns, and rate limits - NextAuth / Auth.js for credentials login, Google OAuth, GitHub OAuth, JWT sessions, and protected route access
- Zustand for dashboard design-preview state
- Cloudinary for profile image upload storage
- Vercel-ready build flow with Prisma client generation before Next.js compilation
- Next.js App Router β routing, layouts, server components, and full-stack React architecture
- TypeScript β type-safe application development
- Tailwind CSS β utility-first styling and responsive UI
- Zustand β lightweight client state management for dashboard preview/customization flows
- dnd-kit β drag-and-drop link and collection ordering
- Sonner β toast notifications
- Recharts β insights and analytics visualizations
- Next.js Server Actions β protected dashboard mutations and account actions
- Next.js API Routes β auth-related endpoints, uploads, redirects, and analytics tracking
- NextAuth / Auth.js β authentication, sessions, OAuth, and credentials login
- PostgreSQL β primary relational database
- Prisma ORM v7 β schema modeling, migrations, and type-safe database access
- Redis β OTP, cooldown, rate-limit, and cache-oriented flows
- ioredis β Redis client for local Docker Redis and Redis Cloud
- Docker β local development services
app/
(site)/ Landing, auth, and post-auth routes
(main)/ Dashboard, onboarding, and account routes
[username]/ Public profile pages
api/ Auth, upload, redirect, and analytics endpoints
actions/
account/ Password and security server actions
analytics/ Profile-view tracking actions
dashboard/ Links, profile, social icon, and design actions
onboarding/ V1 onboarding actions
components/
account/ Account settings UI
dashboard/ Dashboard, insights, design, and link board UI
help/ Help center UI
landing/ Landing page sections and animations
theme/ Public profile renderer and theme parts
ui/ Shared UI primitives
lib/
security/ OTP and rate-limit helpers
server/ Server-only analytics and URL-title helpers
themes/ Theme constants and merge utilities
validators/ Zod validation schemas
prisma/
schema.prisma PostgreSQL schema and Prisma modelsgit clone https://github.com/TakshilCodes/linkdeck
cd linkdecknpm installCreate a .env file from .env.example and fill in the required values.
cp .env.example .envOn Windows:
copy .env.example .envRedis configuration:
# Local Docker Redis
REDIS_URL=redis://localhost:6379
# Redis Cloud / production
REDIS_URL=redis://default:<password>@<host>:<port>
# Use rediss:// if TLS is enabled for your Redis Cloud database.If you are using local Docker services for PostgreSQL and Redis:
docker compose up -dnpx prisma migrate devnpx prisma generatenpm run devOpen the app locally at:
http://localhost:3000npm run devnpm run lintnpm run buildnpx prisma generatenpx prisma migrate devβ LinkDeck.in V1 Completed
LinkDeck.in V1 includes the complete core product experience: landing page, authentication, onboarding, dashboard link management, collections, public profiles, theme customization, live preview, analytics, account settings, uploads, and help center.
Built for creators who want one clean place to share everything.
LinkDeck.in




