TaskHub Documentation

Complete guide to installing and using TaskHub v1.0

Quick summary: TaskHub is a self-hosted task manager with AI built in. Install it on your own server in 15 minutes. Manage tasks across multiple workspaces, get AI daily briefings, create tasks by voice or email, and never miss a deadline.

Requirements

Before installing, make sure your hosting meets these requirements:

RequirementMinimumNotes
PHP7.4+PHP 8.x recommended. Check in cPanel → PHP Version
MySQL5.7+MariaDB 10.3+ also works
PHP ExtensionsPDO, pdo_mysql, curl, opensslEnabled by default on most hosts
Web ServerApache or NginxcPanel hosting works perfectly
Storage50MB+For app files and database
cPanel hosting works great. If you can install WordPress, you can install TaskHub. Namecheap, Hostinger, SiteGround, and GoDaddy all work.

Installation Steps

Step 1 — Create a Database

Log into cPanel and go to MySQL Databases
Under "Create New Database" enter a name like taskhub and click Create Database
Under "MySQL Users" create a new user with a strong password — write it down
Under "Add User to Database" select your user and database, click Add, grant ALL PRIVILEGES

Step 2 — Upload Files

Extract the ZIP you downloaded from your purchase email
In cPanel File Manager navigate to where you want TaskHub (e.g. public_html/tasks/ for yourdomain.com/tasks)
Upload all files from the taskhub/ folder — make sure install.php and schema.sql are included

Step 3 — Run the Installer

Visit https://yourdomain.com/tasks/install.php in your browser
Step 1 — License Key: Enter the license key from your purchase email (format: TH-XXXX-XXXX-XXXX-XXXX)
Step 2 — Database: Enter your database name, username, and password from Step 1
Step 3 — App Settings: Set your app name, URL, timezone, and optionally your Anthropic API key and SMTP email settings
Step 4 — Admin Account: Create your login username, password, and email
Step 5 — Install: Review and click Install TaskHub Now — the wizard runs automatically and deletes itself when done
💡
The installer deletes itself after a successful install for security. If you need to re-run it, re-upload install.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.

In config.php add a secret token: define('CRON_TOKEN', 'your-secret-string-here');
Upload cron_ping.php to your TaskHub root folder (same level as index.php)
Go to cron-job.org → sign up free → Create Cronjob
Set URL to: https://yourdomain.com/tasks/cron_ping.php?token=your-secret-string-here
Set schedule to every 15 minutes → Create
Test it by visiting the URL in your browser. You should see {"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
⚠️
cPanel crons on shared hosting can stop silently without warning. If your morning digest stops arriving, check 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');
💡
cPanel hosting: Use port 465 with SSL. Your SMTP host is usually 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.

Go to console.anthropic.com and create a free account
Click API KeysCreate Key — copy the key (starts with sk-ant-)
In cPanel File Manager open config.php and add your key:
define('ANTHROPIC_API_KEY', 'sk-ant-your-key-here');
Cost: Anthropic API usage for personal task management is minimal — typically under $1/month. New accounts get free credits to start.

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
Separate areas for each role — work, personal, side businesses
Tasks
Parent tasks with subtasks, priorities, due dates, notes
💰
Cost Tracking
Add costs to tasks and subtasks — totals roll up to the parent automatically
🤖
AI Assistant
Chat to create tasks, get suggestions, plan your day
🎙
Voice-to-Task
Speak a task — AI creates it in the right workspace
📧
Email-to-Task
Forward emails to create tasks automatically
☀️
Daily Briefing
AI morning email with your personalized game plan

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

Click Settings & Workspaces in the sidebar
Scroll to Workspace Manager
Click + Add Workspace, enter a name and pick a color
Click Save — appears immediately in your sidebar and dashboard
Create one workspace per major role or project. 5-8 workspaces is ideal. Common examples: Personal, Work, Client A, Side Business, Family.

Creating Tasks

Four ways to create a task:

MethodHowBest for
ManualClick + Add TaskWhen you know exactly what you need
AI ChatType in the AI chat panelNatural language, quick capture
VoiceTap 🎙 mic buttonHands-free on mobile
EmailForward to your task addressConverting emails into actions

Task fields

FieldWhat it does
TitleMake it action-oriented — "Call client" not "Client"
WorkspaceWhich area this belongs to
Priority🔴 Urgent / 🟡 High / 🔵 Normal / ⚪ Low
Due DateTriggers reminders and shows in morning digest
NotesBackground info or context
RecurrenceRepeat schedule — creates next task on completion
Auto-completeCompletes parent when all subtasks are done

Subtasks

Break parent tasks into smaller steps. Progress shows as a percentage ring on dashboard cards.

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 showsMeaning
💰 $350.00Only 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
Cost tracking is great for project budgeting — license renewals, home improvement, client work, business expenses. All costs are optional and can be added or updated at any time.

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.

RecurrenceNext task created
Daily1 day after current due date
Weekly7 days after current due date
Monthly1 month after current due date
Quarterly3 months after current due date
Yearly1 year after current due date
CustomAny 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

Use a template

Go to Task Templates in the sidebar
Click 🚀 Use on any template
Set a due date and optionally pick a different workspace
Click Create Task — parent and all subtasks created instantly

Calendar & Countdown

Click 📆 Calendar in the sidebar to see tasks by due date.

Countdown badges on task cards

BadgeMeaning
⚠ 2d overduePast the due date
⏰ Due todayDue today
📅 TomorrowDue tomorrow
📅 5dDue within 7 days

Dashboard Customization

Click ⚙ Customize in the Workspaces section of the Dashboard to:

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

💡
The AI knows all your workspace names and assigns tasks to the right one automatically. You can always override by naming the workspace explicitly.

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.

The more due dates you set on tasks, the more specific and useful the briefing becomes. AI uses deadlines, workspace load, and overdue status to prioritize its recommendations.

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

Click ⚙ Customize in the Workspaces section
Scroll to the bottom of the panel
Toggle 🤖 AI Task Suggestions on or off — saves automatically

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.

💡
Voice recognition works best on Android Chrome. On iPhone, use the AI chat text input or the standalone voice page with browser support enabled.

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

Create an email address in cPanel → Email Accounts (e.g. tasks@yourdomain.com)
Go to cPanel → EmailForwardersAdd Forwarder
Select Pipe to a Program and enter: public_html/tasks/email_intake.php
In File Manager right-click email_intake.phpChange Permissions → set to 755
Make sure your account email address is set in Settings → Account
⚠️
Important: You must forward from the same email address registered to your account. Unknown senders receive an auto-reply explaining the issue.

Reminders & Alerts

NotificationWhen it sends
Pre-due reminderX minutes/hours before due time — set when creating task
Overdue alertDay after due date passes — enabled by default
Morning digestDaily at your set time — includes overdue and due-today tasks

Weekly Reports

Google Calendar Sync

Go to Settings → Google Calendar and click Connect Google Calendar
Sign in with your Google account and grant calendar access
When creating a task, check Sync to Google Calendar — it appears on the due date

Mobile App (PWA)

Install TaskHub as an app on your phone — no app store required.

iPhone (Safari)

  1. Open Safari and go to your TaskHub URL
  2. Tap the Share button (box with arrow)
  3. Tap Add to Home ScreenAdd

Android (Chrome)

  1. Open Chrome and go to your TaskHub URL
  2. Tap the three-dot menuAdd to Home Screen

Settings

SettingWhat it controls
Display NameYour name in emails and greetings
Email AddressWhere notifications are sent — also used for Email-to-Task
Digest TimeWhen you receive the morning briefing (default 7am)
Email NotificationsTurn all email notifications on or off
Workspace ManagerAdd, rename, recolor, reorder, or archive workspaces
Google CalendarConnect or disconnect Google Calendar
Change PasswordUpdate your login password

Admin & User Management

Admins see 👥 User Management in the sidebar. From there you can:

Troubleshooting

ProblemFix
500 error after installCheck database credentials in config.php — DB name, user, and password must match exactly
Can't log inVerify the admin account was created during install. Try clearing cookies.
No emails arrivingCheck spam folder first. Verify SMTP settings in config.php. Test with the Settings → Test Email button.
Cron jobs not runningDouble-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 workingCheck 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 workingVerify 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 iPhoneiOS 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.

Still need help?

Email us and we'll get back to you within 24 hours.

Contact Support →