{"id":20240608,"url":"https://github.com/asim/reminder","last_synced_at":"2026-05-28T23:01:39.095Z","repository":{"id":262057300,"uuid":"885577921","full_name":"asim/reminder","owner":"asim","description":"Quran, hadith and names of Allah in one app and API","archived":false,"fork":false,"pushed_at":"2026-05-28T21:08:19.000Z","size":207767,"stargazers_count":105,"open_issues_count":5,"forks_count":18,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-05-28T21:09:38.264Z","etag":null,"topics":["hadith","islam","quran"],"latest_commit_sha":null,"homepage":"https://reminder.dev","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":"github:asim"},"created_at":"2024-11-08T21:36:49.000Z","updated_at":"2026-05-28T21:07:20.000Z","dependencies_parsed_at":"2024-11-10T08:28:32.569Z","dependency_job_id":"4f53975a-4a5b-49dc-a294-82bada199fc5","html_url":"https://github.com/asim/reminder","commit_stats":null,"previous_names":["asim/reminder"],"tags_count":123,"template":false,"template_full_name":null,"purl":"pkg:github/asim/reminder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asim%2Freminder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asim%2Freminder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asim%2Freminder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asim%2Freminder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asim","download_url":"https://codeload.github.com/asim/reminder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asim%2Freminder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33629560,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hadith","islam","quran"],"created_at":"2024-11-14T08:47:22.893Z","updated_at":"2026-05-28T23:01:39.083Z","avatar_url":"https://github.com/asim.png","language":"Go","funding_links":[],"categories":["Islamic Events and Reminders (19 projects)"],"sub_categories":["Go"],"readme":"# Reminder\n\nQuran, hadith and names of Allah in one app and API.\n\n## Overview\n\nThe Reminder is an app and API for the Quran, Hadith and Names of Allah. It provides search and query answers using an LLM. \nRAG (Retrieval Augmented Generation) and references ensures answers are grounded in authentic Islamic texts. \n\nThe goal is to consolidate these texts\ninto a single app and API, providing helpful daily reminders using web push notifications and leveraging AI as a tool for search summaries.\n\n## Contents\n\n- [Features](#features)\n- [Install](#install)\n- [Usage](#usage)\n- [API](#api)\n- [Web](#web)\n- [Notes](#notes)\n- [Sources](#sources)\n\n## Features\n\n- Quran in English \u0026 Arabic\n- Quran Audio Recitation (Arabic \u0026 English)\n- Names of Allah \u0026 Meaning\n- Hadith (Bukhari) in English\n- Index \u0026 Search with RAG and LLMs\n- Optional Fanar or OpenAI integration\n- API to query Quran, hadith, names\n- Daily reminder web notifications\n\n## Install\n\nFind the latest [release](https://github.com/asim/reminder/releases/latest)\n\nOr Go install\n\n```\ngo install github.com/asim/reminder@latest\n```\n\n## Usage\n\n**Quick Start** (requires OpenAI API key for fast embeddings):\n\n```bash\nexport OPENAI_API_KEY=xxx\nreminder --serve\n```\n\n**Alternative: Fully Local** (slower, requires Ollama):\n\n```bash\n# Install and start Ollama (https://ollama.ai/)\nollama pull nomic-embed-text  # For embeddings\nollama pull llama3.2           # For LLM responses\n\n# Don't set OPENAI_API_KEY - will use Ollama for both\nreminder --serve\n```\n\n**LLM Configuration** (optional - defaults to local Ollama):\n\nThe app now uses **local Ollama by default** for LLM responses. You can override with:\n\n```bash\n# Use Fanar API (takes priority over Ollama/OpenAI)\nexport FANAR_API_KEY=xxx\n\n# Use a specific Ollama model (default: llama3.2)\nexport OLLAMA_LLM_MODEL=llama3.1\n\n# Use OpenAI as fallback (only if no Fanar key and OLLAMA_LLM_MODEL not set)\nexport OPENAI_API_KEY=xxx\n```\n\n**Embedding Configuration**:\n\nFor **best performance**, use OpenAI embeddings (fast \u0026 cheap - $0.02/1M tokens):\n\n```bash\nexport OPENAI_API_KEY=xxx  # Uses text-embedding-3-small (fast, 1536 dims)\n```\n\nFor **local/offline** (slower, but no API costs):\n\n```bash\n# Install Ollama first: https://ollama.ai/\nollama pull nomic-embed-text\n\n# Optional: use different model or instance\nexport OLLAMA_EMBED_MODEL=nomic-embed-text  # default\nexport OLLAMA_BASE_URL=http://localhost:11434/api  # default\n```\n\n**Migration Note**: If switching embedding providers, delete the old index cache:\n\n```bash\nrm -rf ~/.reminder/data/reminder.idx.gob.gz\n```\n\nRun the server \n\n```\nreminder --serve\n```\n\nGo to [localhost:8080](https://localhost:8080)\n\n## API\n\nAll queries are returned as JSON\n\n- `/api/latest` - for the latest reminder with LLM-generated contextual message\n  * Returns: verse, hadith, name of Allah, links, and an AI-generated spiritual message\n  * The `message` field contains an LLM-generated reflection (2-3 sentences) based on the verse, hadith, and name\n  * Falls back to default message (\"In the Name of Allah—the Most Beneficent, Most Merciful\") if LLM is unavailable\n- `/api/quran` - to get the entire quran\n- `/api/names` - to get the list of names\n- `/api/hadith` - to get the entire hadith\n- `/api/search` - to get summarised answer\n  * `q` param for the query\n  * `POST` using `content-type` as `application/json`\n  * `curl -d '{\"q\": \"what is islam\"}' http://localhost:8080/api/search`\n\nSee [`/api`](https://reminder.dev/api) for more details \n\n## App\n\nThe reminder bakes in a \"lite\" app by default. This can be replaced by a featureful react app.\n\nTo build the react app\n\n```\n# requires pnpm\nmake setup\n```\n\nBuild the app\n```\nmake build\n```\n\nPass the `--web` flag to use the react app\n```\nreminder --web --serve\n```\n\n## Notes\n\nThe Quran says in [6:90](https://reminder.dev/quran/6/90)\n\n```\nSay,\n“I ask no reward of you for this (Quran) —\nit is a reminder to the whole world.”\n```\n\n## Sources\n\nThe sources used for data\n\n- [Arabic Quran](https://github.com/asim/quran-json-arabic)\n- [English Quran](https://github.com/asim/quran-json)\n- [Names of Allah](https://github.com/asim/99-Names-Of-Allah)\n- [Sahih Bukhari](https://github.com/asim/bukhari)\n- [Word by word](https://github.com/asim/quranwbw)\n\n## Development\n\nFile an issue to discuss \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasim%2Freminder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasim%2Freminder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasim%2Freminder/lists"}