A modern, productivity-focused experimental frontend built with React-Admin, designed to work with the Karakeep REST API.
This project is an experimental alternative frontend for the Karakeep bookmark management system. It aims to explore different UI/UX approaches, particularly focused on rapid triage workflows and keyboard-driven interactions. The frontend connects to the official Karakeep REST API and provides features like batch operations, real-time search, keyboard shortcuts, and a specialized triage mode for rapid content processing.
This is an independent project created to:
- Explore alternative UI approaches for bookmark management
- Experiment with triage-focused workflows
- Test React-Admin as a framework for productivity applications
- Learn from and potentially contribute ideas back to the Karakeep community
This project requires a running Karakeep backend API to function.
- ๐ Advanced Bookmark Management: Full CRUD operations with metadata support
- ๐ท๏ธ Smart Tagging System: Color-coded tags with bulk assignment capabilities
- ๐ List Organization: Custom lists for project-based content organization
- ๐ฏ Triage Mode: Card-based interface for rapid bookmark processing
- โก Keyboard Shortcuts: Power-user navigation and actions
- ๐ Real-time Search: Fast filtering across all content and metadata
- ๐ Batch Operations: Bulk tagging, listing, and archiving
- ๐ Secure Authentication: JWT-based auth with automatic token refresh
- ๐ฑ Responsive Design: Mobile-friendly DaisyUI components
- Node.js 18 or higher
- npm or yarn
- Karakeep backend API running (see official Karakeep documentation)
- Clone the repository:
git clone https://github.com/mikelebowitz/karakeep-frontend.git
cd karakeep-frontend
- Install dependencies:
npm install
- Start development server:
npm run dev
The application will be available at http://localhost:5173
# Development
npm run dev # Start development server on port 5173
# Build & Test
npm run build # TypeScript check + Vite production build
npm run lint # Run ESLint
npm run preview # Preview production build
Frontend Framework:
- React 19.1.0 + TypeScript 5.7
- React-Admin 5.9.1 (admin interface framework)
- DaisyUI 4.12.22 + Tailwind CSS 4.1.11 (replacing Material UI)
- Vite 7.0.4 (build tool)
Key Libraries:
- Axios (HTTP client with JWT authentication)
- React Router (navigation)
- React Hook Form (form management)
Development Tools:
- ESLint (code linting)
- Prettier (code formatting)
- TypeScript (type safety)
Cmd/Ctrl + K
: Quick searchCmd/Ctrl + N
: New bookmarkG then B
: Go to bookmarksG then T
: Go to tagsG then L
: Go to lists?
: Show help- Triage Mode:
1-9
assign to lists,Cmd+Return
apply changes
Latest Version: v1.1 (July 17, 2025)
- Core CRUD Operations: Full bookmark, tag, and list management
- BookmarkEdit Functionality: Complete with custom TagSelector/ListSelector
- Triage Mode: Card-based rapid processing interface
- Responsive Design: Mobile-optimized layouts
- JWT Authentication: Secure login with token refresh
- API Integration: Comprehensive endpoint documentation
- Keyboard Navigation: Basic shortcuts implemented
- Documentation cleanup and organization
- Enhanced keyboard shortcut system
- Accessibility compliance (WCAG 2.1 AA)
- Re-enable Tag and List management views
- Implement bulk editing capabilities
- Performance optimization for large datasets
- Comprehensive testing framework
karakeep-frontend/
โโโ ๐ Documentation
โ โโโ README.md # This file
โ โโโ CLAUDE.md # AI development guidance
โ โโโ docs/
โ โโโ requirements.md # Functional requirements
โ โโโ prd.md # Product specification
โ โโโ techstack.md # Architecture decisions
โ โโโ status.md # Development progress
โ โโโ KARAKEEP_API_ENDPOINTS.md # API documentation
โโโ ๐ง Frontend Code
โ โโโ src/
โ โ โโโ components/ # Reusable UI components
โ โ โโโ pages/ # CRUD screens (bookmarks, tags, lists)
โ โ โโโ providers/ # Auth and data providers
โ โ โโโ types/ # TypeScript definitions
โ โ โโโ utils/ # Helper functions
โ โโโ public/ # Static assets
โ โโโ dist/ # Production build output
โโโ โ๏ธ Configuration
โโโ package.json # Dependencies and scripts
โโโ vite.config.ts # Build configuration
โโโ tailwind.config.js # Styling configuration
โโโ vercel.json # Deployment configuration
This experimental frontend integrates with the official Karakeep REST API through:
- Authentication:
POST /auth/login
,POST /auth/refresh
- Bookmarks: Full CRUD with pagination and search
- Tags & Lists: Management and association endpoints
- Batch Operations: Bulk updates and deletions
See docs/KARAKEEP_API_ENDPOINTS.md
for complete API documentation.
This experimental frontend is configured for automatic deployment to Vercel:
- GitHub Integration: Connected to
mikelebowitz/karakeep-frontend
- Environment Variables: Configure
VITE_API_URL
in Vercel dashboard - Automatic Builds: Triggered on push to main branch
For manual deployment:
npm run build # Creates production build in dist/
- Fork this repository:
github.com/mikelebowitz/karakeep-frontend
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes following the existing code patterns
- Ensure TypeScript and ESLint pass:
npm run build && npm run lint
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to your fork:
git push origin feature/amazing-feature
- Open a Pull Request
- Requirements: See
docs/requirements.md
for complete functional specifications - Product Design: See
docs/prd.md
for user stories and acceptance criteria - Technical Decisions: See
docs/techstack.md
for architecture choices - Development Progress: See
docs/status.md
for current milestone tracking - API Documentation: See
docs/KARAKEEP_API_ENDPOINTS.md
for complete API reference
- Browser extension for direct bookmark saving
- Advanced bookmark import/export functionality
- Social sharing and collaboration features
- Machine learning-powered auto-tagging
- Offline support with sync capabilities
This project is licensed under the MIT License - see the LICENSE file for details.
This is an experimental UI for Karakeep, an excellent bookmark management system. All credit for the backend API, data models, and core bookmark management concepts goes to the Karakeep team and contributors.
This project is:
- โ An independent experiment in alternative UI/UX approaches
- โ A learning project exploring React-Admin for productivity apps
- โ Open source and available for anyone to use or learn from
- โ NOT officially affiliated with or endorsed by Karakeep
- โ NOT a replacement for the official Karakeep frontend
- Built with React-Admin
- UI components from DaisyUI
- Icons from Heroicons
- Bundled with Vite
To the Karakeep team for creating an excellent bookmark management API that made this UI experiment possible.