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

1.4 KiB

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

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