A minimalist Progressive Web App for writing and exporting letters. Designed for German correspondence with support for formal and personal letter styles.
- Offline-first - Works without internet connection after first visit
- Local storage - All data stays in your browser, nothing is sent to servers
- Multiple profiles - Save different sender addresses (personal, business, etc.)
- Letter templates - Pre-configured salutations and closings for formal/personal letters
- Text formatting - Bold (
**text**) and italic (_text_) support - Export options - PDF, HTML, or JSON
- Import/Export - Backup and restore all your data
- Installable - Add to home screen on mobile or desktop
Letter stores all data locally in your browser using LocalStorage. No data is ever transmitted to any server. Your letters remain private on your device.
To back up your data, use the Export button on the home screen.
No build tools required. Clone and open index.html in a browser:
git clone https://github.com/dkd-dobberkau/letter-app.git
cd letter-app
# Serve locally (pick one)
python3 -m http.server 8000
# or
npx serve .letter/
├── index.html # Single HTML entry point
├── manifest.json # PWA manifest
├── sw.js # Service Worker for offline support
├── css/
│ └── style.css # Monochrome design system
├── js/
│ ├── app.js # Main app, router, views
│ ├── storage.js # LocalStorage abstraction
│ ├── templates.js # Letter presets (salutations, closings)
│ ├── markdown.js # Bold/italic text formatting
│ └── export-pdf.js # PDF generation with jsPDF
└── assets/
└── icons/ # PWA icons