Opening your space…
Everything stays on your device
Writing Rhythm
← Back to library
🤖
Unlock your AI companion
Pepper can check your writing, chat with you, and help you reflect. It takes about 2 minutes to connect. Your key lives only on this device — Offgrid never sees it.
1
Choose a provider
Pick the AI service that suits you
Groq
Fast, generous free tier
✓ Free to start
OpenAI
GPT-4o, most capable
Anthropic
Claude — thoughtful replies
Google
Gemini — good free tier
✓ Free tier
Ollama
Fully local, no key needed
✓ 100% offline
OpenRouter
Access many models
2
Get your API key
Follow the link below — it's free
3
Paste your key
Saved locally, never transmitted
Model (optional — leave blank for default)
🔒 Your key is stored in your browser's localStorage. It never leaves your device.
🔒

Locked Diary

← Back to library
← Back to library
Settings

AI Companion (Pepper)

Provider
Not configured
Model

Appearance

Theme
UI color scheme
Font size

Features

Quote of the day
Daily motivational quote on home screen
Auto-compress context
AI summarises old entries to save tokens
Compress after (entries)

Export

Export password
Required when exporting PDFs
Export all (JSON backup)
Import backup

Support & Premium

☕ Buy me a coffee
Tip the developer — no account needed
Support
⭐ Offgrid Premium
Premium themes + KK2 beta features — one-time purchase
Privacy & Security
Full transparency — how we handle your data
Read →

About Offgrid

A private writing space built to feel calm, discreet, and personal. No servers, no accounts — everything lives on your device.
The AI never reads your diary unless you explicitly ask it to. Your data stays local.

Location

Your location
Not set — used only for personalised greetings

Community

Let us know you exist Sends one anonymous count — no ID, no device info, no diary content. Just +1 to a global counter so we know the app is used. Optional, reversible at any time.

UX Analytics (local only)

Anonymous button-usage counts stored on this device. Never sent anywhere. Helps us understand what features matter most.

Data

Clear all data
Delete all diaries (irreversible)
✏️ Edit diary
🔒 Change password
🗑 Delete diary
← Back
What's new
v5.7 CLD April 2026 Current CLD KK2
🐛Fixed version badge tags accumulating every time Settings was opened — added idempotency guard to injectVersionBadges()
🐛Fixed 🔒 appending to premium theme labels on every Settings open — now uses data-label to store the clean name once
🐛Fixed existence toggle resetting to off on new sessions — initExistenceToggle() now called every time Settings opens
🔒Dystopia now generates exactly 30 forbidden words per day (up from 6)
👁Premium theme preview — 10-second live preview with animated countdown bar before returning to your theme
📊Theme preference tracking added to UX Analytics — see which themes people actually use
Brutalist II — alternate dystopian theme: dark concrete, orange-red accents, constructivist crosshatch overlay
🎮Dystopia in-game theme switcher — toggle between Brutalist I and II without leaving the game
🌍Privacy page now syncs to the active app theme
v5.6 KK2 April 2026 KK2
🏴Dystopia — 30-day survival writing minigame. The Regime (Pepper AI) bans hidden words daily. Write in character without triggering them or The Regime's ideological scan. GAME OVER if you slip.
Brutalist theme — available as a Premium theme and as the default during Dystopia. Black, white, monospace, no radius, scanlines.
👋Existence toggle — opt-in anonymous ping so we know someone's out there. No ID, no content, no fingerprinting. Just +1.
💾IndexedDB migration — transparent background migration from localStorage. No data loss. IDB writes with localStorage mirror as safety net.
🔐Premium theme gate enforcedapplyTheme() now checks isPremium(). Premium themes no longer bypassable by calling the function directly.
Ko-fi link corrected — updated to ko-fi.com/offgriddiary
v5.5 CLD April 2026 CLD
🔐AES-GCM 256-bit encryption — all diary entries encrypted at rest using the Web Crypto API. Key derived via PBKDF2-SHA256 (310,000 iterations). Zero-knowledge: nobody but you can read your diary.
📱Full PWA — Web App Manifest, Service Worker, offline support, and add-to-home-screen. Works without internet after first load.
Offgrid Premium — one-time purchase via Digital Goods API (Google Play Billing). Unlocks 5 premium themes and KK2 beta features.
Buy me a coffee — optional voluntary support via Ko-fi, with supporter code unlock for web users.
🎨5 Premium themes — Sakura (soft pink), Autumn (warm harvest dark), Matcha (deep green), Midnight Astro (deep space), Nordic (Scandinavian minimal)
🛡Privacy page — a full, honest, non-generic privacy and security document at privacy.html
🖼PNG favicons only — two sizes (192×192 and 512×512) specified in <head> with no JS detection
🔄Service Worker update banner — notifies when a new version of Offgrid is available
v5.4 Prestige April 2026
🖥Desktop Command Center — larger typography, editor max-width 880px with breathing room, sidebar stays open at ≥1200px
🌊Flow State — replaces Typewriter Mode with true native fullscreen immersion; all UI hides, only you and the page remain
✍️Ink Flow entrance — entries sweep in left-to-right with a clip-path mask, like words being written by an invisible hand
💫Elastic modals — modals now bounce open with a spring curve cubic-bezier(0.68,−0.55,0.265,1.55)
🃏Card waterfall extended — staggered library card entry now works for up to 12 diaries
🎨5 Premium themes — Sakura, Autumn, Matcha, Midnight Astro, Nordic added to the theme selector
v5.3 KK2 April 2026
📁File split — CSS, JS, and HTML now live in separate files for cleaner maintenance; loads the same
🖊Typewriter Mode fixed — no longer glitches when switching entries; clean exit on navigation
📱Mobile panel close fixed — X buttons on Pepper and Teaching Mode now reliably close panels
Animation polish (KK2) — smoother screen transitions, springier cards, will-change hints, eased panel slides
🔒Time Capsule privacy — locked entries are now hidden from AI (Pepper chat + context compression) and excluded from all PDF exports
🖼Favicon rewritten — uses fetch(HEAD) with Image fallback for file:// protocol support
v5.2 April 2026
🔍Global Search — search bar in the Library header filters all entries instantly
🔒Time Capsule — lock any entry until a future date; it stays hidden until then
🖊Typewriter Mode — distraction-free focus mode that prevents backspace and centers your text
📖Monthly Zine — one-button PDF export with mood sparkline, stats, and a reflection quote
🔗AI Echoes — after saving, Pepper surfaces a related old entry ("This reminds you of June…")
💥Nuclear Reset — "Forgot Password" on the lock screen factory-resets the app after double confirmation
📱Mobile formatting toolbar restored — bold, italic, lists are back on small screens with horizontal scroll
📄PDF Markdown parsing — exported diaries now render **bold** and *italic* properly
🛡Clear All Data now always requires the Master Password — no more bypass via simple confirm()
🖼Smart favicon — auto-detects offgrid-icon.png or offgrid-icon.svg in the folder
🐛Fixed changelog button said "What's new in v4" — now correctly shows v5.3 KK2
v5.1 April 2026
🐛Fixed Pepper bottom nav button — was double-flipping STATE.chatOpen, preventing the panel from opening
🐛Fixed Teaching mode × close button — was calling toggle instead of a direct close, causing immediate re-open
🐛Fixed Favicon not appearing — corrected link tag ordering and added rel="shortcut icon" for broader browser support
🏗Introduced closeChat() and closeTeaching() direct-close helpers — X buttons now never fight the toggle state machine
📋Update log updated with v5.1 entry (this one)
v5.0 April 2026
📱Mobile sidebar fully fixed — slides in as overlay, no longer pushes content
📱Mobile panels — Pepper and Teaching slide in from right as overlays with a dimming backdrop
🎓Dedicated Coach button in bottom nav for Teaching Mode
📦APK update banner — shown when a newer build is available on-device
🏷CPT / KK2 / CLD tooltips — click any version acronym in the changelog to see an explanation
🖼PNG favicon support added alongside SVG
UI polish — spring loading animation, richer card hover, better chat bubbles, focus rings
v4.0 April 2026
🐛Fixed JS syntax error caused by a curly apostrophe inside a string literal
📱Mobile layout with bottom navigation bar, touch-optimized panels and overlays
🎨5 new themes — Black & White (sharp corners), Hacker (terminal green), Blueprint, Parchment, and Dusk
📋Changelog screen — this very screen
🔐Master password now also required to clear all data
🤖AI greeting now refreshes every visit, not once per day
🌍Location prompt — optional, privacy-first, only used to personalise greetings
📊UX Analytics — anonymous, local-only button-usage stats visible in Settings
🧠Pepper now clearly distinguishes the diary name from the user's name in context
v3.0 April 2026
📄PDF export — single entry, full diary, or all diaries. Password-protected.
🔐Master export password — local hash, never transmitted
🤖Setup screen — guided onboarding with provider-specific key instructions
💡Pepper nudge — soft accent-colored prompt instead of error messages
🗂Merged CPT features (quick stats, entry delete undo, format toolbar) with KK2 animations
🎨Writing Rhythm redesigned as a proper calendar heatmap with word counts
🔒Password verification required before editing locked diaries
🖋Added Crimson Text and Dancing Script font options
v2.0 April 2026
Full merge of animation system (KK2) and feature set (CPT)
🥚Easter eggs fixed — per-type cooldowns, no broken overlay lookups
💬Pepper — AI chat companion with markdown rendering
🎓Teaching mode — writing coach with one-click fixes
🔑Multi-provider AI support (OpenAI, Claude, Gemini, Groq, Ollama, OpenRouter)
🧠Context compression — AI summarises old entries to preserve token budget
🏠AI daily greeting, quote of the day, writing rhythm heatmap on home screen
v1.0 April 2026
📓Initial release — multi-diary library, date-based entries, autosave, local storage
🔒Per-diary password locking
🎨8 themes, custom accent colors, font selection
📥JSON export/import backup
A 30-day survival writing game
The Regime is watching.

Every day, The Regime selects a set of forbidden words. You don't know what they are. You must write your daily entry without triggering them.

You must also stay in character — this is a surveillance state. Write as a citizen under watch. If The Regime's analysis detects non-compliance, or if you use a forbidden word, it's GAME OVER.

Survive all 30 days without detection to earn your freedom.