# Sagaphone A web-based, procedural family-saga narrator with TTS — generates random family trees and narrates their story out loud. Intended as a "fall asleep" tool: set a timer, and it reads family sagas until time runs out. See [SPEC.md](SPEC.md) for the full spec, architecture, and design areas. ## Status Scaffolded, no features implemented yet. `backend/` and `frontend/` both run and have a passing test suite; actual simulation/narration/TTS logic is next. ## Stack - Frontend: SvelteKit (`frontend/`) — `bun` - Backend: FastAPI (`backend/`) — `uv` - TTS: Piper (server-side) - Narration: Anthropic Haiku API (server-side) - Reverse proxy: Caddy - Deployment target: Zeus, `sagaphone.orbitstack.casa` ## Dev ```bash # backend cd backend && uv sync && uv run uvicorn app.main:app --reload # frontend cd frontend && bun install && bun run dev ``` Each subproject's own README has more detail (lint/test/typecheck commands).