Farmers Truck: Daily Reminders

Jul 1, 2025
Complete

Overview

This feature adds a timezone-aware daily email reminder system to the Farmers Truck Map. Subscribers receive a morning notification at 7 AM in their market's local timezone with details about that day's market stop, including the address, operating hours, and a direct link for directions. The system supports two subscription modes: logged-in users toggle reminders in their profile, while visitors can sign up with just an email address through a verification flow.

Tech

The backend runs as a Supabase edge function triggered hourly by a GitHub Actions cron job. Each hour, the function checks which markets fall within the 7–8 AM window for their timezone, then uses the RRule library to determine if the market is scheduled for that calendar date. Emails are sent through Resend with personalized HTML templates built with React Email. An idempotency log in the database prevents duplicate sends, and Sentry tracks any delivery failures.

Typescript
Typescript
NodeJS
NodeJS

Features

Key features include a multi-level subscriber system that merges account-based preferences with email-verified signups, operator notification emails that summarize how many subscribers were reached, one-click unsubscribe support from within the email, and a real-time subscriber count displayed on market cards. The frontend provides a dashboard where users can view all their active notifications, see upcoming market dates, and manage their subscription preferences.

Thanks for checking out my project!

Explore some of my other projects and see what I've been working on.

Other Projects

NovaJohnstoneAndCo

Netlify
Gatsby
JavaScript

MyBoards

Digital Ocean
React Native
PostgreSQL
Typescript

WarrierTech API

Azure
Azure Functions
CosmosDB
Key Vault
Typescript
NodeJS
API Management