managarten/apps/wisekeep/CLAUDE.md
Till JS d7b4042164 feat(wisekeep): migrate from archive to local-first + Hono architecture
- Move from apps-archived/ to apps/
- Delete NestJS backend, mobile app, legacy Python, shared-types
- Create Hono/Bun server with Groq Whisper transcription via yt-dlp
- Create local-first store (transcripts, playlists) with guest seed
- Rewrite web app: Transcribe page, Library with search/expand,
  Playlists CRUD, auth via shared-auth-ui, AuthGate with guest mode
- Remove broken landing page subpages (Prettier-incompatible Astro)
- Add wisekeep to root CLAUDE.md and dev scripts
- Fix duplicate wisekeep entries in shared-branding
- 0 type errors on both server and web

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 20:03:55 +02:00

53 lines
1.4 KiB
Markdown

# Wisekeep — AI Wisdom Extraction from Video
## Architecture
Local-first for transcripts/playlists, Hono/Bun server for Groq Whisper transcription.
```
Browser → IndexedDB (Transcripts, Playlists)
↕ sync
mana-sync → PostgreSQL
Browser → Hono Server → yt-dlp (download) → Groq Whisper (transcribe)
```
## Project Structure
```
apps/wisekeep/
├── apps/
│ ├── web/ # SvelteKit web app (local-first)
│ ├── server/ # Hono/Bun (transcription via Groq)
│ └── landing/ # Astro content site (curated talks)
└── package.json
```
## Commands
```bash
pnpm dev:wisekeep:web # SvelteKit dev server
pnpm dev:wisekeep:server # Hono/Bun server (port 3072)
pnpm dev:wisekeep:landing # Landing page
pnpm dev:wisekeep:local # Web + Sync + Server (no auth)
pnpm dev:wisekeep:full # Everything incl. auth
```
## Server Routes
| Route | Auth | Description |
|-------|------|-------------|
| `GET /health` | No | Health check |
| `POST /api/v1/transcribe` | JWT | Transcribe YouTube URL via Groq |
## Prerequisites
- `yt-dlp` installed (`brew install yt-dlp`)
- `GROQ_API_KEY` env variable set
## Local-First Collections
| Collection | Purpose |
|-----------|---------|
| `transcripts` | Video transcriptions (title, channel, transcript text) |
| `playlists` | Organized collections of transcripts |