Daily Word is a personal Next.js app that sends a daily Bible reading email using Vercel Cron, Resend, and local JSON files. It does not use a database or public subscription flow.
Create .env.local with:
RESEND_API_KEY=
CRON_SECRET=
DAILY_WORD_RECIPIENTS=elian_rc@yahoo.comDAILY_WORD_RECIPIENTS is optional. If it is missing, the app falls back to src/config/daily-word.ts.
The app reads these server-side files:
data/daily-word-bible.jsondata/daily-word-reading-plan.json
Do not place the Bible JSON in public/.
npm install
npm run devPreview a reading without sending:
/api/test/preview?date=2026-04-30&secret=YOUR_SECRET
Send a test email:
/api/test/send?date=2026-04-30&secret=YOUR_SECRET
Run the daily endpoint manually:
/api/cron/send-daily-reading?secret=YOUR_SECRET
The secret may also be sent as:
Authorization: Bearer YOUR_SECRET
Set RESEND_API_KEY, CRON_SECRET, and optionally DAILY_WORD_RECIPIENTS in Vercel project settings.
Vercel Cron uses UTC. Puerto Rico is UTC-4, so:
{
"path": "/api/cron/send-daily-reading",
"schedule": "0 10 * * *"
}This runs around 6:00 AM Puerto Rico time.