Project Overview
Kit is a self-hosted bookmark management tool designed to solve the pain of disorganized browser bookmarks. Through a three-tier architecture of Workspace, Tab, and Folder combined with a tag system, it lets users organize large numbers of web resources intuitively.
The full-stack application is deployed on Cloudflare Pages with a D1 Serverless SQLite database, achieving zero server maintenance costs and fast global edge-computing access.
Core Features
Technical Architecture
Frontend
Remix (React Router v7) serves as the core framework, paired with the shadcn/ui component library and Tailwind CSS to build a modern interface. Phosphor Icons handles the icon system and @dnd-kit manages drag-and-drop interactions.
Backend
Runs on Cloudflare Workers edge computing environment, using Cloudflare D1 (SQLite) as the database and Drizzle ORM for type-safe data operations and migration management.
Authentication
Custom-built JWT authentication (jose), with passwords hashed using PBKDF2-SHA256 (100,000 iterations), Cookie-based session management, and support for a registration allowlist.
Database Design
Uses Cloudflare D1 (SQLite) with Drizzle ORM, covering users, workspaces, bookmark content, the tag system, and the sharing mechanism.
| Table | Description | Key Columns |
|---|---|---|
| users | User accounts | id, email, password_hash |
| workspaces | Workspaces (each user can create multiple) | id, user_id, title, sort_order |
| tabs | Tabs (supports folders / tags modes) | id, workspace_id, title, type |
API Design
RESTful-style API endpoints built on Remix Action Handlers, passing parameters via FormData:
Bookmark Management api.bookmarks
Supports CRUD, cross-folder moves, and batch sort-order updates
Folder Management api.folders
Supports CRUD, nested sub-folders, and collapsed-state toggling
Tag System api.tags / api.tag-groups / api.bookmark-tags
Tag group management, tag CRUD, and bookmark-tag association operations
Workspaces and Tabs api.workspaces / api.tabs
Multi-workspace switching and tab mode management (folders / tags)
Share System api.shares
Generate read-only share links, custom short links, and additional buttons





