A productivity and wellness web application built with Next.js, designed to help you manage daily tasks, track health habits, maintain a daily journal, and review your weekly progress.
I built Routine because I struggle with ADHD and find it incredibly difficult to stay focused and productive. Like many others, I've tried countless productivity and to-do apps, only to abandon them after 2-3 days because they never quite had everything I needed.
- Procrastination: I constantly stress about my tasks but only complete them when deadlines a 8000 re looming
- Scattered focus: Traditional apps don't address the specific challenges of ADHD
- Abandonment cycle: I'd start using an app, realize it's missing something crucial, and give up
I decided to build my own productivity tool for two key reasons:
-
Ownership & Customization: Since I built it, I can enhance it whenever I feel something is missing. Instead of abandoning the tool, I can add the features I need.
-
Community Impact: I believe there are many others like me who struggle with focus and productivity. This app is open to the community - anyone can contribute features they think are missing.
- Built by someone who understands the struggle: Every feature is designed with ADHD and focus challenges in mind
- Comprehensive approach: Combines task management, health tracking, journaling, and reflection
- Flexible and extensible: Easy to add new features as needs evolve
- Community-driven: Open to contributions from others who face similar challenges
Routine is more than just another productivity app - it's a tool built by someone who lives with the daily challenges of staying focused and organized.
- Create, edit, and delete tasks with priorities and status tracking
- Pin important tasks to the top
- Auto-carry incomplete tasks from yesterday to today
- Drag-and-drop reordering (frontend only)
- Task completion tracking with progress visualization
- Water Intake: Track daily water consumption (0-8 glasses)
- Exercise: Mark daily exercise completion
- Sleep: Optional sleep hours tracking
- Mood: Daily mood tracking with emoji selection
- Write daily reflections and thoughts
- Mood tracking with visual indicators
- Expandable journal interface with writing prompts
- Historical journal entry browsing
- Automatic weekly statistics generation
- Task completion rates and rollover tracking
- Health metrics averaging
- Personalized insights and recommendations
- Monthly calendar with activity indicators
- Color-coded dots for tasks, journal entries, and health data
- Quick overview of daily activities
- Historical data visualization
- Theme switching (light/dark mode)
- Notification preferences
- Data export/import capabilities
- App configuration options
- Frontend: Next.js 14 (App Router), React, TypeScript
- Styling: Tailwind CSS, shadcn/ui components
- Database: Neon Postgres with Prisma ORM
- Deployment: Vercel (Frontend) + Neon (Database)
- Icons: Lucide React
- Date Handling: date-fns
- Node.js 18+
- npm or yarn
- Neon Postgres database account
-
Clone the repository
git clone <repository-url> cd task-scheduler
-
Install dependencies
npm install
-
Set up environment variables Create a
.env.localfile in the root directory:DATABASE_URL="your-neon-postgres-connection-string"
-
Set up the database
# Generate Prisma client npm run db:generate # Push schema to database npm run db:push # Seed with sample data npm run db:seed
-
Start the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
- Today Page: Start your day by viewing today's tasks and health tracking
- Add Tasks: Create new tasks with priorities and descriptions
- Track Health: Update water intake, exercise, and mood
- Journal: Write daily reflections and thoughts
- End Day: Review your progress and plan for tomorrow
- π Today: Main dashboard with tasks and health tracking
- π Calendar: Monthly view with activity indicators
- π Weekly: Weekly statistics and insights
- π Journal: Historical journal entries and mood tracking
- βοΈ Settings: App configuration and preferences
- Auto-carry: Incomplete tasks automatically carry forward to the next day
- Real-time Updates: All changes save automatically
- Responsive Design: Works seamlessly on desktop and mobile
- Clean UI: Modern, minimalist interface inspired by Notion
- users: User accounts (single user for now)
- tasks: Daily tasks with status, priority, and pinning
- daily_logs: Health tracking and journal entries
- weekly_reviews: Automated weekly statistics
- All data is associated with a single user (ID: 'me')
- Tasks are linked to specific dates
- Daily logs have unique constraints per user/date
- Weekly reviews are generated automatically
- Connect your GitHub repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy automatically on push to main branch
- Create a Neon Postgres project
- Get your connection string
- Update environment variables
- Run database migrations
DATABASE_URL="postgresql://user:password@host:port/database"npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npm run db:generate # Generate Prisma client
npm run db:push # Push schema to database
npm run db:seed # Seed datab
7C79
ase with sample datatask-scheduler/
βββ app/ # Next.js App Router pages
β βββ api/ # API routes
β βββ calendar/ # Calendar page
β βββ journal/ # Journal page
β βββ settings/ # Settings page
β βββ weekly/ # Weekly review page
β βββ page.tsx # Today page (home)
βββ components/ # React components
β βββ ui/ # shadcn/ui components
β βββ navigation.tsx # Main navigation
β βββ task-card.tsx # Task display component
β βββ task-form.tsx # Task creation/editing
β βββ health-tracker.tsx # Health tracking component
β βββ journal-entry.tsx # Journal component
βββ lib/ # Utility functions
β βββ db.ts # Database client
β βββ types.ts # TypeScript types
β βββ utils.ts # Utility functions
βββ prisma/ # Database schema and migrations
β βββ schema.prisma # Database schema
β βββ seed.ts # Database seeding
βββ public/ # Static assets
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- shadcn/ui for beautiful components
- Lucide for icons
- date-fns for date utilities
- Neon for serverless Postgres
- Vercel for hosting
If you have any questions or need help, please open an issue on GitHub.
Built with β€οΈ using Next.js, TypeScript, and Tailwind CSS