AI-powered scheduling buddy - A personal scheduling assistant that helps you create weekly and monthly schedules using intelligent AI recommendations.
- AI-Powered Scheduling: Uses Google Gemini API to generate personalized schedules
- Context-Aware: Understands your preferences, work hours, and recurring commitments
- Beautiful UI: Modern interface built with Next.js and shadcn/ui
- Export & Share: Download schedules as PDF or send via email
- Flexible Planning: Generate weekly or monthly schedules with easy refinement
- Monorepo: pnpm Workspaces
- Frontend: Next.js 16+, TypeScript, TailwindCSS, shadcn/ui
- Backend: Node.js 24, Express, TypeScript, Mongoose
- Database: MongoDB Atlas (free tier)
- AI: Google Gemini API
- Email: Resend
- PDF: Puppeteer
about-time/
├── packages/
│ ├── backend/ # Express API server
│ └── frontend/ # Next.js web application
├── pnpm-workspace.yaml # pnpm workspace config
└── package.json # Root package with workspaces
- Node.js >= 24.0.0
- pnpm >= 11.x
- MongoDB Atlas account (free tier)
- Google Gemini API key
- Resend API key
- Clone the repository:
git clone <your-repo-url>
cd about-time- Install dependencies:
pnpm install-
Set up environment variables (see Environment Variables section)
-
Run development servers:
# Run both frontend and backend
pnpm dev
# Or run individually
pnpm dev:backend
pnpm dev:frontendMONGODB_URI=mongodb+srv://...
JWT_SECRET=your-secret-key
GEMINI_API_KEY=your-gemini-api-key
RESEND_API_KEY=your-resend-api-key
RESEND_FROM_EMAIL=your-email@domain.com
NODE_ENV=development
PORT=3001
FRONTEND_URL=http://localhost:3000NEXT_PUBLIC_API_URL=http://localhost:3001pnpm dev- Run both frontend and backend in parallelpnpm dev:backend- Run backend onlypnpm dev:frontend- Run frontend onlypnpm build- Build all packagespnpm lint- Lint all packagespnpm clean- Clean all node_modules and build artifacts
The project can be deployed using:
- Kubernetes: minikube (local) or Oracle Cloud Free Tier (production)
- Alternative: Railway (backend) + Vercel (frontend)
MIT
This is a personal project, but feel free to fork and adapt for your own use!