A full-stack application that lets users schedule reminders which are automatically sent via WhatsApp using Twilio API at the scheduled time.
Reminder-App-Demo.mp4
- π Add custom reminders with messages and reminder time
- π¬ Automatically sends WhatsApp reminders using Twilio
- ποΈ View and manage all reminders from the frontend
- β Delete reminders
- π¦ Stores reminders in MongoDB
- π¬ Realtime scheduler running in backend using
setInterval
- React 19
- Tailwind CSS 4
- Axios
- React-Datetime-Picker
- React-Hot-Toast
- Vite
- Node.js
- Express.js
- MongoDB & Mongoose
- Twilio (WhatsApp Messaging API)
- Dotenv
- Nodemon (for development)
WhatsAppReminder/
β
βββ client/ # Frontend (React)
β βββ ... # Components, Styles, Logic
β
βββ server/ # Backend (Express)
β βββ controllers/ # Reminder logic
β βββ models/ # Mongoose models
β βββ routes/ # API routes
β βββ utils/ # Reminder scheduler
β βββ server.js # Entry point
β βββ .env # Environment variables
PORT=3000
MONGODB_URI=your_mongodb_connection_string
TWILIO_ACCOUNT_SID=your_twilio_account_sid
TWILIO_AUTH_TOKEN=your_twilio_auth_tokenVITE_API_BASE_URL=http://localhost:3000π Note: Make sure the backend is running on the same port as
VITE_API_BASE_URL. If your backend usesPORT=3000, the frontend should point tohttp://localhost:3000.
cd server
npm install
npm run devcd client
npm install
npm run devFrontend will run at
http://localhost:5173
- User schedules a reminder from the frontend.
- The backend stores the reminder in MongoDB.
- A scheduler (running every second) checks for due reminders.
- If the reminder time has passed and it's not already sent, Twilio sends the WhatsApp message.
- Reminder is marked as "sent" (
isReminded: true) to avoid duplicate messages.
- User authentication
- Custom phone number input
- Email reminders
- Edit reminder functionality
- Admin dashboard to monitor reminders sent
Made with β€οΈ by Varun Yadav LinkedIn β’ GitHub β’ X
This project is open-source and free to use under the MIT License.
