A beautiful, fully-featured Progressive Web App (PWA) for praying the rosary with authentic Latin prayers, intelligent text-to-speech, and a seamless cross-platform experience.
- ๐ฟ Latin Prayers โ Complete rosary prayers in Latin with proper liturgical structure
- ๐ค AI Voice โ xAI WebSocket Voice API for natural, expressive audio narration with gender selection
- ๐ Ambient Audio โ Gentle ambient audio accompaniment with customizable volume
- ๐พ Smart Caching โ KV cache-first TTS system minimizes API usage and costs
- ๐ต Karaoke Mode โ Follow along with prayer text synchronized to audio
- ๐ Liturgical Seasons โ Dynamically adapts prayers based on the liturgical calendar
- ๐ Full-Screen Design โ Immersive, distraction-free prayer interface
- ๐ฑ Mobile First โ Optimized for iOS, Android, and all modern browsers
- โก Offline Ready โ Works as a PWA with offline capabilities
- โฟ Accessible โ WCAG-compliant with proper semantic HTML and ARIA labels
- ๐ Fast โ Built with Astro 5 for optimal performance and instant load times
- Astro 5 โ Static site generation with partial hydration
- Cloudflare Workers โ Serverless edge computing
- Cloudflare KV โ Distributed caching for TTS results
- xAI Voice API โ Advanced text-to-speech with natural voice synthesis
- TypeScript โ Type-safe JavaScript
- PWA โ Progressive Web App standards
# Clone the repository
git clone https://github.com/hansakoch/rosari-org.git
cd rosari-org
# Install dependencies
npm install
# Set up environment variables
cp .dev.vars.template .dev.vars
# Edit .dev.vars with your xAI API key and other configuration# Start local development server
npm run dev
# Build for production
npm run build
# Generate Cloudflare types
npm run cf-typegenDeploy to Cloudflare Workers:
npm run deployThe app will be deployed to your Cloudflare account with all bindings (KV storage, environment variables) configured.
Create a .dev.vars file based on .dev.vars.template with the following:
XAI_API_KEYโ Your xAI API key for Voice API accessKV_NAMESPACE_IDโ Cloudflare KV namespace ID for TTS caching- Other environment-specific settings
src/
โโโ pages/ # Astro pages and routes
โโโ components/ # Reusable UI components
โโโ layouts/ # Page layouts
โโโ api/ # API endpoints for KV caching, TTS processing
โโโ styles/ # Global styles and theme
โโโ utils/ # Helper functions, prayer data
This project is open source and licensed under the MIT License โ free for anyone to download, use, modify, and distribute. See LICENSE for details.
Contributions are welcome! Please feel free to submit issues and pull requests to improve the app.
- Built with Astro
- Powered by xAI for voice synthesis
- Hosted on Cloudflare
- Prayer texts sourced from traditional Roman Catholic liturgical sources
Made with โค๏ธ for the faithful.