Keep/_bmad-output/planning-artifacts/memory-echo-ux-backlog.md
sepehr 7fb486c9a4 feat: Complete internationalization and code cleanup
## Translation Files
- Add 11 new language files (es, de, pt, ru, zh, ja, ko, ar, hi, nl, pl)
- Add 100+ missing translation keys across all 15 languages
- New sections: notebook, pagination, ai.batchOrganization, ai.autoLabels
- Update nav section with workspace, quickAccess, myLibrary keys

## Component Updates
- Update 15+ components to use translation keys instead of hardcoded text
- Components: notebook dialogs, sidebar, header, note-input, ghost-tags, etc.
- Replace 80+ hardcoded English/French strings with t() calls
- Ensure consistent UI across all supported languages

## Code Quality
- Remove 77+ console.log statements from codebase
- Clean up API routes, components, hooks, and services
- Keep only essential error handling (no debugging logs)

## UI/UX Improvements
- Update Keep logo to yellow post-it style (from-yellow-400 to-amber-500)
- Change selection colors to #FEF3C6 (notebooks) and #EFB162 (nav items)
- Make "+" button permanently visible in notebooks section
- Fix grammar and syntax errors in multiple components

## Bug Fixes
- Fix JSON syntax errors in it.json, nl.json, pl.json, zh.json
- Fix syntax errors in notebook-suggestion-toast.tsx
- Fix syntax errors in use-auto-tagging.ts
- Fix syntax errors in paragraph-refactor.service.ts
- Fix duplicate "fusion" section in nl.json

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

Ou une version plus courte si vous préférez :

feat(i18n): Add 15 languages, remove logs, update UI components

- Create 11 new translation files (es, de, pt, ru, zh, ja, ko, ar, hi, nl, pl)
- Add 100+ translation keys: notebook, pagination, AI features
- Update 15+ components to use translations (80+ strings)
- Remove 77+ console.log statements from codebase
- Fix JSON syntax errors in 4 translation files
- Fix component syntax errors (toast, hooks, services)
- Update logo to yellow post-it style
- Change selection colors (#FEF3C6, #EFB162)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-11 22:26:13 +01:00

349 lines
12 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Memory Echo - UX Improvements Backlog
**Date:** 2025-01-11
**Author:** Sally (UX Designer Agent)
**Project:** Keep - Memory Echo Feature
---
## 🎯 Problem Statement
**User:** Ramez has 22+ similar notes and needs better tools to manage semantic connections.
**Current State:**
- Temporary modal showing 2 connected notes side-by-side
- Notifications when new connections detected
- Basic feedback (thumbs up/down)
- Fusion feature exists but needs better integration
**User Pain Points:**
1. *"Once we see 2-3 identical notes, how do we put them side-by-side?"* - Better management of similar notes
2. *"Can we have a merge button?"* - Intelligent fusion of similar notes
3. *"Can we put them side-by-side on a sketch?"* - Mind-map / graph view of connections
**Constraints:**
- Must remain intuitive and not clutter the UI
- Must integrate cleanly with existing Masonry grid
- Must handle scale (potentially 22+ similar notes)
- Must not overwhelm the user
---
## 💡 UX Proposals
### 1⃣ Better Connection Display & Management
#### **Proposal: Persistent Slide-over Panel**
**Location:** Navigation bar with badge counter
```
[Notes] [Archive] [🔗 Connexions (23)] ← Badge shows total notes with connections
```
**Interaction:**
- Click badge → Slide-over panel opens from right
- Shows hierarchical list of all connections grouped by similarity
- Click on connection → Scroll to & highlight that note in grid
- Hover over note in grid → Highlight connections in slide-over
**UI Layout:**
```
┌─────────────────────────────────────────────────────┐
│ [Notes] [Archive] [🔗 Connexions (23)] │
├─────────────────────────────────────────────────────┤
│ Grille Masonry existante │
│ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ Note │ │ Note │ │ Note │ │
│ │ 1 │ │ 2 │ │ 3 │ │
│ └──────┘ └──────┘ └──────┘ │
│ │
│ ┌─────────────────────────────────┐ ← Toggle │
│ │ 🔗 Connexions (Slide-over) │ (right side) │
│ │ ├─ Note A (3 connexions) │ │
│ │ │ ├─ Note B (85%) │ │
│ │ │ └─ Note C (72%) │ │
│ │ └─ Note D (12 connexions) │ │
│ │ ├─ Note E (91%) │ │
│ │ └─ ... │ │
│ └─────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
```
**Features:**
- **Filter controls:** "Show only notes with 5+ connections", "Similarity 80%+"
- **Group by similarity:** Cluster similar notes
- **Search:** Search through connections
- **Collapse/Expand:** Manage large lists
- **Quick actions:** Checkbox multiple notes → "Compare selected" / "Merge selected"
**Why It Works:**
- ✅ Non-intrusive: Doesn't hide the grid
- ✅ Overview: See all connections at once
- ✅ Navigation: Quick access to any connection
- ✅ Scalable: Handles 50+ connections
---
### 2⃣ Intelligent Note Fusion
#### **Proposal: Grouped Actions + Smart Merge**
**A. In Slide-over Panel:**
```
┌──────────────────────────────────────┐
│ 🔗 Group of similar notes │
│ ┌─────────────────────────────────┐ │
│ │ ☑ Note A - "Machine Learning" │ │
│ │ ☑ Note B - "ML basics" │ │
│ │ ☑ Note C - "Intro ML" │ │
│ │ │ │
│ │ [🔀 Merge 3 notes] │ │ ← Primary button
│ └─────────────────────────────────┘ │
└──────────────────────────────────────┘
```
**B. Existing Fusion Modal (Already Implemented!)**
Current modal features:
- Preview AI-generated fusion
- Select which notes to merge
- Custom prompt
- Options (archive originals, keep tags, etc.)
**C. New Feature: "Quick Merge"**
For very similar notes (90%+ similarity):
```
[⚡ Quick Merge] → Automatically archives originals
→ Creates fused note
→ Adds "Fused" badge to originals with link to new note
```
**Workflow:**
```
1. User opens slide-over
2. Sees group of 5 similar notes
3. Option A: Check all 5 → Click "Merge" → Opens custom modal
Option B: Click "⚡ Quick Merge" → Instant merge with smart defaults
4. New note created with "Fused" badge
5. Original notes archived with link to fused note
```
**Why It Works:**
- ✅ Scale: Handle 22+ notes without selecting one-by-one
- ✅ Control: Quick merge for obvious duplicates, custom for nuanced cases
- ✅ Visual feedback: "Fused" badge traces history
- ✅ Reversible: Archive keeps originals accessible
---
### 3⃣ Mind-Map / Graph View
#### **Proposal: Toggle Graph View**
**New Navigation Button:**
```
[Notes] [Archive] [🕸️ Graph] ← New view
```
**Graph View UI:**
```
┌─────────────────────────────────────────────────────┐
│ 🔙 Back to Grid 🔍 Zoom 🎨 Clusters │
├─────────────────────────────────────────────────────┤
│ │
│ [Note A]────────────[Note B] │
│ │ \ / │
│ 85% 72% 91% │
│ │ \ / │
│ [Note C]────[Note D]────[Note E] │
│ │
│ 💡 Cluster "Machine Learning" (5 notes) │
│ │ │
│ [Note F]────────[Note G] │
│ │ │
│ 💡 Cluster "React" (3 notes) │
│ │
└─────────────────────────────────────────────────────┘
Legend:
─ Thick line = 80%+ similarity (highly connected)
─ Thin line = 50-79% similarity
─ 💡 = Auto-clustered by theme (AI)
```
**Features:**
- **Drag & drop:** Reposition notes manually
- **Click note:** Opens modal with:
- Full note content
- Connections with percentages
- Actions: "Merge with selected", "View in grid"
- **Auto-clusters:** AI groups similar thematically (ML, React, etc.)
- **Filters:** "Show only 70%+ connections", "Hide archived"
- **Zoom & pan:** Navigate large graphs
- **Export:** Save graph as image or JSON
**Why It Works:**
- ✅ Immediate visual: See everything at once
- ✅ Scalable: Handles 50+ connections
- ✅ Actionable: Click → Compare → Merge
- ✅ Discovery: Clusters reveal patterns
- ✅ Exploration: Serendipitous connections
**Tech Stack Recommendations:**
- **React Flow** (https://reactflow.dev/) - React-native, excellent performance
- **D3.js** (https://d3js.org/) - Powerful but steeper learning curve
- **Cytoscape.js** (https://js.cytoscape.org/) - Specialized for graphs
---
## 📋 Implementation Phases
### Phase 1 - Quick Win (1-2 days)
**Features:**
- [ ] Badge "🔗 Connexions (X)" in navigation
- [ ] Slide-over panel with connection list
- [ ] Checkbox selection + "Merge" button (uses existing modal)
- [ ] Filter controls (similarity threshold, count)
**Files to Create/Modify:**
- `components/connections-slide-over.tsx` (NEW)
- `components/connections-nav-badge.tsx` (NEW)
- Modify navigation to include badge
- Integrate with existing `/api/ai/echo/connections` endpoint
**Effort:** Low
**Impact:** High
**Risk:** Low
---
### Phase 2 - Graph View (3-5 days)
**Features:**
- [ ] Toggle "🕸️ Graph" view
- [ ] Basic graph visualization (React Flow)
- [ ] Click interactions (open modal, highlight connections)
- [ ] Zoom & pan
- [ ] Basic filters
**Files to Create/Modify:**
- `app/(main)/connections/page.tsx` (NEW - graph view page)
- `components/connections-graph.tsx` (NEW)
- Install `reactflow` package
- Navigation update
**Effort:** Medium
**Impact:** High
**Risk:** Medium (learning curve for React Flow)
---
### Phase 3 - Advanced Features (5-7 days)
**Features:**
- [ ] Auto-clustering by theme (AI)
- [ ] "Quick Merge" for 90%+ similar notes
- [ ] Export graph (image/JSON)
- [ ] Advanced filters (date range, labels)
- [ ] Graph layouts (force, hierarchical, circular)
**Files to Create/Modify:**
- `/api/ai/echo/clusters` (NEW)
- `components/quick-merge-button.tsx` (NEW)
- Enhanced graph component with layouts
- Export functionality
**Effort:** High
**Impact:** Medium
**Risk:** Medium
---
## 🎨 UI/UX Considerations
### Color Scheme
- **Connections Badge:** Amber (already used)
- **Fused Badge:** Purple (already used)
- **Graph Nodes:** Color by cluster/theme
- **Graph Edges:** Gradient by similarity (green = high, yellow = medium, gray = low)
### Responsive Design
- **Mobile:** Slide-over becomes bottom sheet
- **Tablet:** Slide-over 50% width
- **Desktop:** Slide-over 400px fixed width
- **Graph:** Touch interactions for mobile
### Accessibility
- Keyboard navigation for all actions
- Screen reader support for graph view
- High contrast mode support
- Focus indicators
### Performance
- Lazy load connection list (pagination)
- Virtual scroll for large lists
- Debounce graph interactions
- Cache graph layout
---
## 📊 Success Metrics
**User Engagement:**
- % of users opening connections panel
- Average connections viewed per session
- Graph view adoption rate
**Feature Usage:**
- Number of merges per week
- % of quick merges vs custom merges
- Most used similarity threshold
**User Satisfaction:**
- Feedback on graph view usability
- Time to merge similar notes
- Reduction in duplicate notes over time
---
## 🚨 Open Questions
1. **Default similarity threshold:** What should be the default? (Proposed: 70%)
2. **Max connections to display:** Should we cap the list? (Proposed: 50, with pagination)
3. **Auto-archival:** Should "Quick Merge" auto-archive or ask user? (Proposed: Auto-archive with undo)
4. **Graph layout:** Which layout should be default? (Proposed: Force-directed)
5. **Cluster naming:** AI-generated or user-editable? (Proposed: AI-generated with edit option)
---
## 📝 Notes
- All translations already exist in `locales/fr.json` and `locales/en.json`
- Fusion modal already implemented and working
- Connections API endpoint already exists: `/api/ai/echo/connections`
- Badge components already created: `ConnectionsBadge`, `FusionBadge` (inline)
- Current UI issue fixed: Badges now at top, labels after content, owner indicator visible
---
## 🔗 Related Files
- `components/connections-badge.tsx` - Badge component
- `components/connections-overlay.tsx` - Overlay component
- `components/fusion-modal.tsx` - Fusion modal
- `components/note-card.tsx` - Note card with badges
- `app/api/ai/echo/connections/route.ts` - Connections API
- `app/api/ai/echo/fusion/route.ts` - Fusion API
- `locales/fr.json` - French translations
- `locales/en.json` - English translations
---
**Status:** 📋 Ready for Implementation
**Priority:** Phase 1 > Phase 2 > Phase 3
**Next Steps:** Review with Ramez, prioritize features, begin Phase 1 implementation