mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-15 20:19:39 +02:00
- 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>
53 lines
1.4 KiB
Markdown
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 |
|