TaskHub Documentation
Complete guide to installing and using TaskHub v1.0
Requirements
Before installing, make sure your hosting meets these requirements:
| Requirement | Minimum | Notes |
|---|---|---|
| PHP | 7.4+ | PHP 8.x recommended. Check in cPanel → PHP Version |
| MySQL | 5.7+ | MariaDB 10.3+ also works |
| PHP Extensions | PDO, pdo_mysql, curl, openssl | Enabled by default on most hosts |
| Web Server | Apache or Nginx | cPanel hosting works perfectly |
| Storage | 50MB+ | For app files and database |
Installation Steps
Step 1 — Create a Database
taskhub and click Create DatabaseStep 2 — Upload Files
public_html/tasks/ for yourdomain.com/tasks)taskhub/ folder — make sure install.php and schema.sql are includedStep 3 — Run the Installer
https://yourdomain.com/tasks/install.php in your browserinstall.php and schema.sql.Cron Jobs
Cron jobs power your daily briefings, reminders, and weekly reports. You have two options — cPanel cron jobs or an external cron service. We recommend the external option as it's more reliable on shared hosting.
Option 1 — External Cron Service (Recommended)
Use cron-job.org (free) to ping your app every 15 minutes. This is more reliable than cPanel crons which can stop silently on shared hosting.
config.php add a secret token: define('CRON_TOKEN', 'your-secret-string-here');cron_ping.php to your TaskHub root folder (same level as index.php)https://yourdomain.com/tasks/cron_ping.php?token=your-secret-string-here{"status":"ok"} — then check your cron/cron.log file for a new entry.Option 2 — cPanel Cron Jobs
Add these in cPanel → Cron Jobs. Replace YOURACCOUNT with your cPanel username:
Every 15 minutes — reminders, morning digest, overdue alerts:
*/15 * * * * /usr/local/bin/php /home/YOURACCOUNT/public_html/tasks/cron/remind.php
Daily at 6pm — weekly preview and briefing emails:
0 18 * * * /usr/local/bin/php /home/YOURACCOUNT/public_html/tasks/cron/weekly_report.php
cron/cron.log for recent entries. If the log hasn't updated, delete and re-add the cron job or switch to the external option above.Email Setup
TaskHub sends emails for morning briefings, reminders, and weekly reports. Configure SMTP in config.php:
define('SMTP_HOST', 'mail.yourdomain.com');
define('SMTP_PORT', 465);
define('SMTP_USER', 'tasks@yourdomain.com');
define('SMTP_PASS', 'your-email-password');
define('SMTP_FROM_NAME', 'TaskHub');
define('SMTP_SECURE', 'ssl');
mail.yourdomain.com. Create a dedicated email address like tasks@yourdomain.com in cPanel → Email Accounts first.AI Setup (Optional)
AI features require an Anthropic API key. Without it, TaskHub still works fully — AI features are optional enhancements.
sk-ant-)config.php and add your key:define('ANTHROPIC_API_KEY', 'sk-ant-your-key-here');Overview
TaskHub is organized around workspaces — separate areas for each role or area of your life. Inside each workspace you create tasks, break them into subtasks, set due dates, and get automated reminders and AI assistance.
Workspaces
Workspaces are separate containers for different areas of your life or work. Each has its own color, task list, and progress tracking.
Creating a workspace
Creating Tasks
Four ways to create a task:
| Method | How | Best for |
|---|---|---|
| Manual | Click + Add Task | When you know exactly what you need |
| AI Chat | Type in the AI chat panel | Natural language, quick capture |
| Voice | Tap 🎙 mic button | Hands-free on mobile |
| Forward to your task address | Converting emails into actions |
Task fields
| Field | What it does |
|---|---|
| Title | Make it action-oriented — "Call client" not "Client" |
| Workspace | Which area this belongs to |
| Priority | 🔴 Urgent / 🟡 High / 🔵 Normal / ⚪ Low |
| Due Date | Triggers reminders and shows in morning digest |
| Notes | Background info or context |
| Recurrence | Repeat schedule — creates next task on completion |
| Auto-complete | Completes parent when all subtasks are done |
Subtasks
Break parent tasks into smaller steps. Progress shows as a percentage ring on dashboard cards.
- At creation — click + Add Subtask inside the Add Task modal
- From the card — click ⊕ Subtasks to expand the panel, type in the bottom row
- AI generated — click 💡 Suggest Subtasks or ⚡ Auto-Add All
Completing Tasks
Click the ○ circle on the left of any task card. A modal asks for an optional completion note — useful for recording what was accomplished or any follow-up needed.
When all subtasks are done a 🎉 All subtasks complete! banner appears with a ✅ Complete Task button.
Cost Tracking
Add an optional cost to any task or subtask to track project expenses. Costs roll up automatically to the parent task.
Adding cost to a task
Click the edit ✏️ button on any task → scroll down to the 💰 Estimated Cost field → enter a dollar amount → Save. A green 💰 $X.XX badge appears on the task card.
Adding cost to a subtask
Open the subtask panel → click ✏️ on any subtask → enter amount in the $ cost field → Save.
Cost totals on parent tasks
| What shows | Meaning |
|---|---|
💰 $350.00 | Only the parent task has a cost |
💰 $75.00 (subtasks total) | Only subtasks have costs |
💰 $550.00 (task $100.00 + subtasks $450.00) | Both parent and subtasks have costs |
Notes & Activity Log
Every task has an activity log. Click the 📝 icon on any task to open the notes panel. Notes are timestamped and show the type: 📝 Progress for manual notes, ✅ Completion for completion notes.
Recurring Tasks
When you complete a recurring task, the next occurrence is created automatically with the correct due date and all subtasks copied.
| Recurrence | Next task created |
|---|---|
| Daily | 1 day after current due date |
| Weekly | 7 days after current due date |
| Monthly | 1 month after current due date |
| Quarterly | 3 months after current due date |
| Yearly | 1 year after current due date |
| Custom | Any interval — e.g. every 3 years for license renewals |
Task Templates
Save a complete workflow — title, subtasks, priority, recurrence — and launch it with one click.
Create a template
- From scratch — go to Task Templates in sidebar → click + New Template
- From a task — click the 📋 icon on any task card → name it → saved instantly
Use a template
Calendar & Countdown
Click 📆 Calendar in the sidebar to see tasks by due date.
- Month view — full grid with tasks as colored dots. Click any day to jump to that workspace
- Week view — 7-day view showing all tasks for the week
- Prev/Next/Today — navigation buttons in the header
Countdown badges on task cards
| Badge | Meaning |
|---|---|
| ⚠ 2d overdue | Past the due date |
| ⏰ Due today | Due today |
| 📅 Tomorrow | Due tomorrow |
| 📅 5d | Due within 7 days |
Dashboard Customization
Click ⚙ Customize in the Workspaces section of the Dashboard to:
- Hide workspaces — uncheck any workspace to remove it from the dashboard view
- Pin workspaces — click the 📍 pin icon on any workspace card to highlight it with a colored border
- AI Suggestions toggle — turn proactive AI task suggestions on or off
All preferences save to your account and sync across devices.
AI Chat Assistant
The AI assistant lives in the sidebar. Talk to it naturally to create tasks, get subtask suggestions, and plan your day.
Example commands
- "Create a task to follow up with my insurance clients this week"
- "Add an urgent task in Work: Review Q3 report by Friday"
- "What should I focus on today?"
- "Suggest subtasks for renewing my real estate license"
Daily AI Briefing
Every morning at 7am (configurable in Settings) you receive an email with an AI-generated game plan. It reviews all open tasks across every workspace and tells you what to focus on, what's coming up, and flags anything overdue or quiet.
AI Task Suggestions
When a workspace hasn't had any new tasks in 7 days, AI notices and shows a banner on your dashboard with 3 specific suggested tasks — with a + Add button to create them instantly.
Toggle on/off
Voice-to-Task
Speak a task instead of typing it — AI transcribes, extracts details, and creates the task.
In the app
Click the 🎙 microphone button next to the AI chat input. Speak your task — AI shows a preview in the chat with ✅ Create Task and ✕ Cancel buttons.
Standalone phone page
Visit yourdomain.com/voice.php and add it to your phone home screen for a dedicated one-tap voice capture experience.
Email-to-Task
Forward any email to your task address and it automatically becomes a task — AI picks the workspace and sets the priority.
Setup
tasks@yourdomain.com)public_html/tasks/email_intake.phpemail_intake.php → Change Permissions → set to 755Reminders & Alerts
| Notification | When it sends |
|---|---|
| Pre-due reminder | X minutes/hours before due time — set when creating task |
| Overdue alert | Day after due date passes — enabled by default |
| Morning digest | Daily at your set time — includes overdue and due-today tasks |
Weekly Reports
- Sunday 6pm — preview of the week ahead with upcoming deadlines
- Monday 6pm — full briefing with completion stats, workspace summary, and this week's deadlines
Google Calendar Sync
Mobile App (PWA)
Install TaskHub as an app on your phone — no app store required.
iPhone (Safari)
- Open Safari and go to your TaskHub URL
- Tap the Share button (box with arrow)
- Tap Add to Home Screen → Add
Android (Chrome)
- Open Chrome and go to your TaskHub URL
- Tap the three-dot menu → Add to Home Screen
Settings
| Setting | What it controls |
|---|---|
| Display Name | Your name in emails and greetings |
| Email Address | Where notifications are sent — also used for Email-to-Task |
| Digest Time | When you receive the morning briefing (default 7am) |
| Email Notifications | Turn all email notifications on or off |
| Workspace Manager | Add, rename, recolor, reorder, or archive workspaces |
| Google Calendar | Connect or disconnect Google Calendar |
| Change Password | Update your login password |
Admin & User Management
Admins see 👥 User Management in the sidebar. From there you can:
- Send invite links — generate a link, share it, they create their own account
- Create accounts manually — set up an account and share credentials
- Deactivate users — block access without deleting data
- Reset passwords — change any user's password if locked out
Troubleshooting
| Problem | Fix |
|---|---|
| 500 error after install | Check database credentials in config.php — DB name, user, and password must match exactly |
| Can't log in | Verify the admin account was created during install. Try clearing cookies. |
| No emails arriving | Check spam folder first. Verify SMTP settings in config.php. Test with the Settings → Test Email button. |
| Cron jobs not running | Double-check the file path in the cron command. Make sure the PHP path is correct — try which php in SSH if available. |
| AI features not working | Check that ANTHROPIC_API_KEY is set in config.php and is not empty. Verify the key is valid at console.anthropic.com |
| Email-to-Task not working | Verify email_intake.php permissions are 755. Confirm forwarder is set up correctly in cPanel. Check email_tasks table in phpMyAdmin for entries. |
| Voice not working on iPhone | iOS Safari has limited speech recognition. Use the AI chat text input instead, or wait for OpenAI Whisper integration. |
Pro Tips
Write actionable task titles
Write task titles as actions: "Call John about invoice" not "John invoice".
Always set due dates
Even if there's no hard deadline, assign a target date. It shows in your morning digest and calendar.
Use templates for repeated workflows
Any process you do more than once is a template candidate — client intake, license renewal, monthly review.
Forward emails immediately
When an email requires action, forward it to your task inbox right away. Don't let your email inbox be your to-do list.
Let AI do the subtask work
For any complex task click 💡 Suggest Subtasks — especially good for license renewals, project kickoffs, and compliance tasks.
Check Completed Tasks weekly
At the end of each week, visit Completed Tasks filtered to "This Week" — a great way to see what you actually accomplished.