Create beautiful, interactive PDF planners and templates optimized for e-ink devices. Visual editor, public gallery, and professional PDF generation.
Live Demo | Tutorial | Example Template
- Drag-and-drop interface for designing templates
- Real-time preview with WebSocket updates
- 15+ widget types: calendars, tables, day lists, checkboxes, text blocks, images, links, and more
- Snap-to-grid and alignment tools
- Master templates - reusable page layouts
- Plan system - parametric configurations with variables
- Compilation rules - generate year planners, monthly calendars, weekly spreads
- Internal navigation - bookmarks, links between pages, destinations
- 27 device profiles for Boox, reMarkable, Kindle, Kobo, Supernote
- Constraint enforcement - minimum font sizes, touch targets, stroke widths
- Auto-fix mode - automatically adjust designs to meet device constraints
- Easy to add new devices via YAML configuration
- Share templates with the community
- One-click cloning - copy any public template to your workspace
- Rescale to any device - adapt templates to different screen sizes
- Download PDFs directly from gallery
- User accounts with secure JWT authentication
- Project management with versioning
- Private workspace for your templates
- Clone tracking - see how popular your shared templates are
# Clone and start
git clone https://github.com/stachuman/boox-template-generator.git
cd boox-template-generator
docker compose up -d
# Access at http://localhost:3000- Register at
/register - Create project from dashboard
- Design template with visual editor
- Compile & download your PDF
- Share to public gallery
27 device profiles included:
| Brand | Devices |
|---|---|
| Boox | Go Color 7, Note Air 3C/4C, Tab Mini C, Tab Ultra C, Page, Max 13, Go 10.3 |
| reMarkable | reMarkable 2, Paper Pro |
| Kindle | Scribe, Paperwhite |
| Kobo | Elipsa 2E, Sage, Clara 2E, Libra 2 |
| Supernote | A5X, A6X, Manta, Nomad |
Portrait and landscape variants available. Easy to add custom profiles.
- Content: Text blocks, images, tables, day lists
- Planning: Monthly calendars, weekly views, ruled lines, dot grids
- Navigation: Internal links, tap zones, link lists
- Forms: Checkboxes, text inputs
- Layout: Dividers, vertical lines, boxes
FRONTEND_PORT=3000 # Web interface port
EINK_DATA_DIR=/app/backend/data # User data storage
EINK_CLEANUP_TTL_DAYS=14 # Auto-cleanup (0 to disable)
JWT_SECRET_KEY=your-secret-key # Auto-generated if not set# docker-compose.override.yml
services:
frontend:
ports:
- "8080:80" # Custom port# Backend
python -m venv einkpdf-env && source einkpdf-env/bin/activate
pip install -e .[dev]
uvicorn backend.app.main:app --reload --port 8000
# Frontend
cd frontend && npm ci && npm run dev- Frontend: React 18, TypeScript, Tailwind CSS, Zustand
- Backend: FastAPI, ReportLab, PyMuPDF, Pydantic
- Infrastructure: Docker, Nginx, WebSocket
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Follow coding standards in
CLAUDE.md - Submit pull request
Issues: GitHub Issues
This project is free and open source. If you find it useful:
Your support helps maintain and improve the project!
AGPL-3.0-or-later - Free software that ensures freedom for all users.
Repository | Demo | Tutorial
Built with React + FastAPI + ReportLab | Version 0.2.1
