Keep tasks fair and balanced with daily limits and local AI support
10K+
If you found this helpful and want to support what I do, you can leave a tip here ā thank you so much!
Plan tasks without overload. Built-in workload limits, smart scheduling, recurring task handling, and personal customization keep plans realistic and easier to follow.
ā Dashboard overview |
ā Tasks overview |
ā Day view with workload planning |
ā Blocked date with smart suggestion |
ā Create and assign in one flow |
ā Built-in assistant |
ā In progress tasks |
ā Change task date |
ā Login page |
A task manager for households and small teams.
It is designed to help people plan work realistically instead of just stacking tasks onto a list.
Most task apps let you assign unlimited work to one day.
That can be difficult to keep up with in real life, so this app helps you stay balanced, plan realistically, and keep the app simple enough to use every day.
Example:
You assign 3 high-effort tasks to one day
-> The app will not allow it
-> It suggests the next available day automatically
If someone is away or has blocked days
-> The app skips those dates
-> It suggests the next valid day instead
Planner can now move selected tasks with a make-room review, allowing approved members to rearrange work safely while capacity stays checked per person and extra capacity remains self-only.
Ask AI now handles more task and capacity questions with safer filtering for active, completed, personal, team, unassigned, dated, and member-specific tasks.
Ask AI remains safe by default: task creation, moving, editing, and deletion are kept in the normal task forms and Planner flows where confirmations and capacity checks already exist.
Hybrid AI support can use Ollama for harder wording while still falling back to rule-based answers when AI is disabled, unavailable, or set to rules only.
Planner member filtering is clearer with a non-selectable member placeholder, reducing accidental filter confusion.
Planner now includes quick task creation from a selected day, with assignee choice, optional recurring settings, capacity review, and self extra-capacity confirmation when needed.
Tasks and Day View now support member-specific filters for quickly checking one person's work without changing the main views.
New web Planner view for week and month planning, with quick task moves and a mobile-friendly date picker flow.
Planner capacity checks protect shared schedules, so team tasks cannot be moved into a full day unless the rules allow it.
Users can explicitly add extra capacity for their own over-capacity Planner moves after reviewing the change.
Recurring tasks now support clearer late-completion behavior, including continuing from the original schedule or from the completion date.
Overdue recurring tasks now advance cleanly to the next valid future occurrence instead of creating catch-up tasks in the past.
Planner and recurring-task edge cases now include safer stale-confirmation, away-day, blocked-date, completed-task, and permission checks.
The app is designed to plan around real-life availability, not just due dates.
Recurring tasks stay cleaner than a typical task app.
Each user can personalize their own view without changing the experience for anyone else.
Homeflow also includes an Android companion app for self-hosted servers.
mobile/app/mobile/docs/mobile/docs/implementation-spec.mdTypical Android development commands:
cd mobile/app
flutter pub get
flutter analyze
flutter test
flutter build apk --debug
š https://github.com/Nicxx2/homeflow-task-managerā
Use the following docker-compose.yml:
services:
db:
image: postgres:16-alpine
container_name: stm-db
environment:
POSTGRES_DB: ${POSTGRES_DB:-task_mgmt}
POSTGRES_USER: ${POSTGRES_USER:-task_user}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-task_pass}
ports:
- "${POSTGRES_EXPOSE_PORT:-5432}:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-task_user} -d ${POSTGRES_DB:-task_mgmt}"]
interval: 5s
timeout: 5s
retries: 10
ollama:
image: ollama/ollama:latest
container_name: stm-ollama
volumes:
- ollama_data:/root/.ollama
healthcheck:
test: ["CMD-SHELL", "ollama list > /dev/null 2>&1 || exit 1"]
interval: 10s
timeout: 5s
retries: 30
ollama-init:
image: curlimages/curl:8.10.1
container_name: stm-ollama-init
depends_on:
ollama:
condition: service_healthy
entrypoint: ["/bin/sh", "-ec"]
command: >
"echo 'Waiting for Ollama API...' &&
until curl -fsS http://ollama:11434/api/tags > /dev/null; do sleep 2; done &&
echo 'Pulling model: ${OLLAMA_DEFAULT_MODEL:-qwen2.5:1.5b}' &&
curl -fsS -X POST http://ollama:11434/api/pull -H 'Content-Type: application/json' -d '{\"name\":\"${OLLAMA_DEFAULT_MODEL:-qwen2.5:1.5b}\",\"stream\":false}' > /dev/null &&
echo 'Model ready: ${OLLAMA_DEFAULT_MODEL:-qwen2.5:1.5b}'"
restart: "no"
backend:
image: nicxx2/homeflow-task-manager:latest
container_name: stm-backend
environment:
APP_NAME: ${APP_NAME:-Simple Task Management}
APP_ENV: ${APP_ENV:-development}
SECRET_KEY: ${SECRET_KEY:-change-me-in-production}
ACCESS_TOKEN_EXPIRE_MINUTES: ${ACCESS_TOKEN_EXPIRE_MINUTES:-60}
JWT_ALGORITHM: ${JWT_ALGORITHM:-HS256}
DATABASE_URL: postgresql+psycopg://${POSTGRES_USER:-task_user}:${POSTGRES_PASSWORD:-task_pass}@db:${POSTGRES_PORT:-5432}/${POSTGRES_DB:-task_mgmt}
OLLAMA_BASE_URL: ${OLLAMA_BASE_URL:-http://ollama:11434}
OLLAMA_DEFAULT_MODEL: ${OLLAMA_DEFAULT_MODEL:-qwen2.5:1.5b}
AI_DEFAULT_TIMEOUT_SECONDS: ${AI_DEFAULT_TIMEOUT_SECONDS:-8}
SESSION_IDLE_TIMEOUT_MINUTES: ${SESSION_IDLE_TIMEOUT_MINUTES:-15}
INITIAL_ADMIN_EMAIL: ${INITIAL_ADMIN_EMAIL:[email protected]}
INITIAL_ADMIN_PASSWORD: ${INITIAL_ADMIN_PASSWORD:-admin1234}
ports:
- "${APP_PORT:-8000}:8000"
depends_on:
db:
condition: service_healthy
command: >
sh -c "alembic upgrade head &&
uvicorn backend.app.main:app --host 0.0.0.0 --port 8000"
volumes:
postgres_data:
ollama_data:
Then run:
docker compose up -d
Open:
http://localhost:8000
On a fresh database, the default admin is:
Update these values before production use:
INITIAL_ADMIN_EMAILINITIAL_ADMIN_PASSWORDSECRET_KEYOn first run:
This is not just a task list.
It is a practical system to help you:
Content type
Image
Digest
sha256:d98912135ā¦
Size
80.5 MB
Last updated
2 months ago
docker pull nicxx2/homeflow-task-managerPulls:
136
Last week