A full-stack, AI-powered web application for generating high-quality, believable excuses, featuring real-time streaming, community engagement, moderation tools, and Twilio integration.
- Features
- Tech Stack
- Getting Started
- Configuration
- Usage Guide
- Project Structure
- API Endpoints
- Deployment
- License
- Acknowledgments
- AI-Powered Excuse Generation: Real-time streaming from OpenAI GPT models, context-aware, multi-language, and pro-tier API key management.
- Communication Tools: Twilio phone call integration, fake call scenarios, proof (fake chat log) generation, and apology crafting.
- Community & Moderation: Community wall, like/comment system, user profiles, moderator panel, and content reporting.
- Modern UI/UX: Responsive design, dark/light themes, smooth animations, accessibility, and iconography.
- Security & User Management: JWT authentication, user tiers (Free/Pro), encrypted API key storage, rate limiting, and input validation.
- Deployment Ready: Multi-platform deployment support (Vercel, Render), health checks, and environment-based configuration.
Frontend:
- React 19.1.0
- Vite
- Tailwind CSS, DaisyUI
- React Router DOM
- Axios
- React Hot Toast
- FontAwesome
Backend:
- Node.js
- Express.js
- MongoDB, Mongoose
- JWT
- OpenAI API
- Twilio
- CryptoJS
DevOps & Tooling:
- Vercel (Frontend Hosting)
- Render (Backend Hosting)
- GitHub Actions (CI/CD ready)
- ESLint, Prettier
git clone https://github.com/arunmm8335/ExcuseMe-Excuse-Generator.git
cd ExcuseMe-Excuse-Generator
# Backend
cd backend
npm install
npm start
# Frontend
cd ../frontend
npm install
npm run devMONGO_URI=mongodb://localhost:27017/excuseme
JWT_SECRET=your-super-secret-jwt-key
OPENAI_API_KEY=your_openai_api_key
OPENAI_API_BASE_URL=https://api.openai.com/v1
FREE_TIER_LIMIT=10
ENCRYPTION_SECRET=your-encryption-secret-key
TWILIO_ACCOUNT_SID=your_twilio_account_sid
TWILIO_AUTH_TOKEN=your_twilio_auth_token
TWILIO_PHONE_NUMBER=your_twilio_phone_number
PORT=5000
NODE_ENV=developmentCLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
VITE_API_URL=https://your-backend-service.onrender.com (for production)
# VITE_API_URL=http://localhost:5000 (for local development)- Register/Login: Create an account or log in. Free tier: 10 AI calls/day. Upgrade to Pro for unlimited usage.
- Generate Excuses: Enter your situation, select context and urgency, and receive AI-generated excuses in real time.
- Advanced Features: Use phone call, proof generation, and community features. Manage your profile and settings.
- Community: Browse, like, comment, and share excuses. Report inappropriate content.
launchizd-excuse-generator/
βββ backend/ # Node.js/Express backend
β βββ config/ # Database config
β βββ middleware/ # Middleware (AI, auth, error, logger, etc.)
β βββ models/ # Mongoose models
β βββ routes/ # API endpoints
β βββ tests/ # Backend tests
β βββ server.js # Express server
βββ frontend/ # React frontend
β βββ src/
β β βββ components/
β β βββ context/
β β βββ pages/
β β βββ App.jsx
β βββ package.json
βββ docker-compose.yml
βββ Dockerfile
βββ README.md
Authentication
POST /api/auth/registerβ RegisterPOST /api/auth/loginβ LoginGET /api/auth/meβ Current user
Excuse Generation
POST /api/excuses/generate-streamβ Stream excusePOST /api/excuses/apologyβ Generate apologyPOST /api/excuses/proofβ Generate proofPOST /api/excuses/saveβ Save excuse
User Management
GET /api/users/profileβ Get profilePATCH /api/users/profileβ Update profilePOST /api/users/upgradeβ Upgrade to ProPOST /api/users/api-keyβ Save API key
Community
GET /api/excuses/communityβ Public excusesPOST /api/excuses/:id/likeβ LikePOST /api/excuses/:id/reportβ ReportPOST /api/excuses/:id/commentβ Comment
Phone Calls
POST /api/calls/triggerβ Trigger fake call
- Go to Vercel and sign in with your GitHub account.
- Click "New Project" and import your repository.
- Set the project root to the
frontenddirectory. - Add the required environment variables from the
.envexample above. - Set the
VITE_API_URLto your Render backend URL (e.g.,https://your-backend-service.onrender.com). - Deploy the project. Vercel will provide a live URL for your frontend.
- Go to Render and sign in with your GitHub account.
- Click "New Web Service" and connect your repository.
- Set the project root to the
backenddirectory. - Set the build command to
npm installand the start command tonpm start. - Add all required environment variables from the
.envexample above. - Add Frontend URI (1 & 2) of vercel domains.
- Deploy the service. Render will provide a live URL for your backend API.
- Set all required environment variables in the respective platform dashboards (Vercel for frontend, Render for backend).
- Ensure the frontend
VITE_API_URLmatches the deployed backend Render URL.
This project is licensed under the MIT License.
- OpenAI (AI capabilities)
- Twilio (phone integration)
- React, Express.js, MongoDB
- GitHub Issues
- GitHub Discussions
- Contact via GitHub profile
Made with β€οΈ by the ExcuseMe Team