A personal link-in-bio service for creating simple digital business cards and collecting links to your social networks, portfolio, and projects — all in one place.
- One link instead of many — Share a single short URL (e.g.
yoursite.com/your-name) with all your links inside - OAuth sign-in — Sign in with Google or GitHub
- Per-user profile page — Each user gets one editable profile page with a custom slug
- ISR support — Incremental Static Regeneration for fast public page delivery (Vercel)
- SvelteKit — Full-stack framework
- Svelte 5 — UI components
- Drizzle ORM — SQLite or Turso (libSQL) database
- Lucia — Authentication (OAuth)
- Tailwind CSS — Styling
- Marked + DOMPurify — Markdown parsing and HTML sanitization
- Bun or Node.js
- SQLite (local) or Turso account (production)
# clone and install
bun install
# set up environment (copy .env.example and fill in values)
cp .env.example .env
# run database migrations
bun run db:migrate
# start dev server
bun run dev| Variable | Description |
|---|---|
DATABASE_URL |
Local SQLite: file:local.db |
TURSO_DATABASE_URL |
Turso database URL (production) |
TURSO_AUTH_TOKEN |
Turso auth token |
BYPASS_TOKEN |
Token for ISR cache bypass |
OAuth credentials (GitHub, Google) are configured via Vercel or your hosting provider.
src/routes/[slug]— Public profile page (e.g.yoursite.com/username)src/routes/config— Authenticated config page to edit your profile (slug, title, markdown)src/routes/login— OAuth login (GitHub, Google)drizzle/— Database schema and migrations
The profile editor is currently array of links. Planned:
- Figma-like visual editor — Replace Markdown with a limited, drag-and-drop canvas editor:
- Blocks (text, links, images)
- Reorder elements
- Basic styling controls
Simpler than full Figma — focused on link-in-bio layouts only.
bun run db:push # push schema changes
bun run db:generate # generate migrations
bun run db:migrate # run migrations
bun run db:studio # open Drizzle StudioConfigured for Vercel via @sveltejs/adapter-vercel. Set environment variables in the Vercel dashboard and deploy.
Private project.