Shipped API keys, export history, LP overhaul
2026-03-03
Core product updates (frontend)
- Added Public API key management in Settings (create/list/revoke with scopes). Gated behind Advanced plan and split the UI into clean list/create sections. Linked PR: #333.
- Export flow now server-tracked: pulls full history from
GET /users/me/exports, resumes polling for pending items, shows visible download link + copy button, and displays expiry correctly. Also persists state across navigation. - First-time generation switched to backfill endpoint so newbies get the last 7 days instead of just yesterday. Linked PR: #341.
- Feedback UX: thumbs-up can include an optional comment, and the form copy now matches the rating. Also removed the misleading
lastSyncAtdisplay — normal connections just show “Connected.”
App UI/UX polish
- Replaced emoji integration icons with SVGs (Simple Icons +
currentColorfor dark mode), tuned default icon sizes, and fixed the webhook icon with an original SVG. - Redid integration “About” pages with a sticky sidebar + section navigation and cleaned up visual hierarchy (ditched heavy card wrappers, restored clear section titles).
- Tweaked layouts: sticky hero/sidebar spacing, removed extra CTAs, and matched section styles to the rest of the app.
Tests, coverage, and tooling
- Massive test sweep: moved all specs into a dedicated
specs/tree, added snapshot assertions, and broadened feature/unit coverage across pages, hooks, and lib. Coverage jumped to 95.94% (1010 tests, 0 failures). - Marked unused-but-parked sidebar components with v8 ignore to keep coverage honest and fixed a stray
require()lint error. - Pinned ESLint back to v9 for Next config compatibility to unbreak CI.
Landing page revamp (lp)
- Big pass on structure and storytelling: added browser-frame product mockups and a Sample Journals section (Log/Story/Ad-lib) to show the experience, not just claims. Linked PR: #64.
- Motion and feel: scroll-triggered reveals, parallax touches, micro-interactions, hover states — all with reduced-motion fallbacks.
- Visual rhythm overhaul: generous spacing tokens, section “cards” with shadows, clear seams between sections, and full-bleed hero/footer where it counts. Fixed overflow quirks.
- Iterated on hero (gradients, contrast), fonts (Crimson/Klee One; cleaned up Latin/CJK pairing), and lots of copy (EN/JA) — pricing aligned with docs, “journal → diary” wording, and sample content made broadly relatable.
- Analytics/legal: added anonymous analytics following the frontend pattern and corrected the legal pages to reflect it; centralized env handling for cleaner config.
Net-net: shipped a stack of UX improvements, real features users touch (API keys, exports, first-time backfill), rock-solid tests, and a livelier LP that finally looks and reads like the product.