Laajal Sa Diine
Laajal Sa Diine is a platform of short audio answers to everyday questions about Islam. I designed and built it on my own to make that kind of guidance easier to find: a React and TypeScript client on top of a Node.js REST API, with MongoDB holding the library and Amazon S3 the audio files.
The hardest part was content discovery: a weighted full-text index tuned for French ranks matches across several fields, while combinable filters and infinite scrolling make the library easier to explore. I also implemented JWT-protected administration, with separate permissions for content, administrator management, and backups.
Putting it into production was the other half of the work, and I wanted to own that path rather than hand it to a managed platform. I provisioned a Hetzner Cloud server myself, deployed the services with Docker, routed them through Traefik, and pointed DNS at it through Cloudflare.
The site is online today, used by listeners, and I still maintain it myself — the infrastructure as much as the code.
- React
- TypeScript
- Node.js
- Express
- MongoDB
- Amazon S3
- Docker
- Traefik
- Cloudflare
- Hetzner Cloud