The challenge
Build one reliable platform for a growing multilingual book collection without splitting the reader, search, administration and background work into disconnected systems. It needed to support a curated 60-language catalogue while keeping content and access control manageable.
Approach
Built a Go API and worker layer around PostgreSQL, Valkey and Meilisearch, paired with a SvelteKit frontend. The platform includes typed public and administrative APIs, search indexing, asynchronous jobs, role-based administration, an offline-ready reader, RAG retrieval with pgvector and Azure OpenAI, and chapter narration through Azure AI Speech.
What was delivered
- Created a single reader, catalogue and administration experience for multilingual content.
- Implemented typed API boundaries, background processing and controlled editorial access.
- Added optional AI-assisted retrieval and generated narration alongside conventional search.