cd /news/developer-tools/show-hn-raztodo-a-local-first-task-m… Β· home β€Ί topics β€Ί developer-tools β€Ί article
[ARTICLE Β· art-86093] src=github.com β†— pub= topic=developer-tools verified=true sentiment=Β· neutral

Show HN: RazTodo, a local-first task manager for developers

RazTodo, a local-first task manager for developers, was released on Hacker News with a native CLI, optional Web UI, and local AI assistance powered by Ollama. The tool stores all data in a single SQLite database, offers commands like add, list, done, search, update, remove, and explain, and supports shell completion for bash, zsh, and fish. It is built with FastAPI and a lightweight static frontend, with no cloud services, accounts, or telemetry.

read4 min views2 publishedAug 4, 2026
Show HN: RazTodo, a local-first task manager for developers
Image: source

A local-first task manager for developers with a native CLI, optional Web UI, and local AI assistance powered by Ollama.

CLI

Local AI assistance powered by Ollama

Web UI

CLI + optional Web UI powered by FastAPI

Most task managers are either web-first, cloud-dependent, or tied to a single interface. RazTodo keeps everything local while letting you manage the same tasks from a native CLI or an optional Web UI.

  • πŸ’» Native CLI built for daily terminal workflows
  • 🌐 Optional Web UI backed by the same local database
  • πŸ€– Local AI assistance powered by Ollama
  • πŸ—„οΈ Single SQLite database shared across all interfaces
  • πŸ”’ No cloud services, accounts, or telemetry
  • ⚑ Fast startup with zero background services
CLI ─┐
     β”œβ”€β”€ Core Engine ─── SQLite
Web β”€β”˜

Both the CLI and Web UI use the same core engine and SQLite database, so every interface stays synchronized automatically.

The architecture follows three design principles:

Separation of concerns core logic is independent of the user interface.Local-first storage all data stays on your machine.Composable interfaces use only the interfaces you need.

rt add "Prepare weekly groceries" --priority H --due 2026-12-31

rt list

rt done 1

rt search "groceries"

rt update 1 --title "Weekly groceries: milk, vegetables, essentials"

rt remove 1

Start the server:

rt-web

Then open http://127.0.0.1:8000

.

Note

Runs locally only (not exposed to the internet) Single-user design with no authentication layer CLI and Web UI share one SQLite database (real-time sync) Local-first architecture optimized for personal use Built with FastAPI + lightweight static frontend AI-powered task explanations (Summary / Deep Analysis / Action Plan) via Ollama

eval "$(rt completion bash)"

Supports bash, zsh, and fish. For permanent setup see the Completion Guide.

RazTodo integrates with Ollama to provide optional local AI assistance for your tasks. Every explanation runs locally using your own LLM, keeping your data private.

Available explanation modes:

--short

β€” concise summary of the task--plan

β€” actionable step-by-step plan--deep

β€” detailed analysis and recommendations

Example:

rt explain 1 --short
rt explain 1 --plan
rt explain 1 --deep

Note

Requires Ollama with a compatible local model. All AI processing is performed locally.

πŸ“– See the Explain Guide for installation, configuration, supported models, and usage examples.

pipx install raztodo

uvx --from raztodo rt

pip install raztodo

pip install "raztodo[web]"

pip install "raztodo[completion]"

pip install "raztodo[all]"

For virtual environment and source installation, see the Installation Guide.

Command Description Example
add
Create a new task rt add "Task" --priority H
list
List tasks with filters rt list --pending --priority H
update
Update a task rt update 1 --title "New title"
done
Toggle task done/undone rt done 1
remove
Delete a task rt remove 1
search
Search tasks by keyword rt search "keyword"
export
Export tasks to JSON rt export backup.json
import
Import tasks from JSON rt import backup.json
migrate
Run database migrations rt migrate
clear
Delete all tasks rt clear --confirm
completion
Output shell completion script rt completion bash
explain
Get an AI explanation of a task rt explain 1 --plan
rt --help
rt add --help

πŸ“– See the Usage Guide for full command documentation.

Variable Description Default
RAZTODO_DB
Database filename or path tasks.db
LOG_LEVEL
Logging level ERROR
export RAZTODO_DB="/path/to/custom.db"
export LOG_LEVEL="DEBUG"

Tip

πŸ“– See the Configuration Guide

docker build -t raztodo:local .
docker run --rm -it -v "$HOME/raztodo-data:/data" raztodo:local add "My first task"

Note

kept CLI-only to minimize image size and dependencies

Tip

πŸ“– See the Docker Guide

Core:

Advanced:

RazTodo is part of the RazBuild ecosystem of open-source developer tools.

RazTintZero-dependency ANSI colors, icons, and terminal formatting utilities powering RazTodo's CLI output.

We welcome bug reports, feature requests, and pull requests.

git clone https://github.com/razbuild/raztodo
cd raztodo
uv sync
uv run pytest
uv run ruff check src/ tests/
uv run ruff format src/ tests/
uv run ty check src/
  • Create feature branch
  • Implement changes
  • Ensure tests pass
  • Submit PR

See the CONTRIBUTING guide for details.

── more in #developer-tools 4 stories Β· sorted by recency
── more on @raztodo 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/show-hn-raztodo-a-lo…] indexed:0 read:4min 2026-08-04 Β· β€”