Due Date Demon
Overview
- A serverless bot that automatically checks my Notion database for upcoming deadlines and sends Discord reminders every day at 8 AM.
- Built with AWS Lambda for serverless execution and Parameter Store for secure credential management, running for less than $1/month.
- Amazon Q Developer helped catch security vulnerabilities and document the development process, turning a simple automation into a production-ready system.
- Inspired by Slack's daily meeting schedules - I wanted a similar lookahead for my class deadlines while learning more about AWS.
Features
- Automated Scheduling: Runs daily at 8 AM using AWS EventBridge triggers with zero manual intervention.
- Smart Filtering: Only shows assignments due within 3 days, filtering out completed tasks automatically.
- Rich Notifications: Sends formatted Discord messages with class icons, assignment types, due dates, and notes.
- Secure Credential Management: Uses AWS Parameter Store for secure token storage with automatic environment detection.
- Production Ready: Configured for serverless deployment with proper error handling and fault tolerance.
- AI-Assisted Development: Integrated Amazon Q Developer for code review, security analysis, and documentation.
- CWE-532 Compliant: No sensitive data exposure in logs with least-privilege IAM permissions.
Technology Stack
- Backend: Python 3.9+, AWS Lambda, Boto3
- APIs: Notion API, Discord.py
- Infrastructure: EventBridge, Parameter Store, CloudWatch
- Development: Amazon Q Developer, Makefile automation
- Security: IAM roles, encrypted parameter storage