Own your tasks. No subscription. No cloud dependency.
Live demo - try it without installing anything.
Tasklog is a self-hosted task manager. Tasks, projects, labels, and deadlines - runs on your machine, accessible from any browser on your network.
No account. No subscription. The feature set is deliberately focused: everything a daily task workflow needs, nothing added to justify a recurring bill.
- People who prefer local-first tools over cloud services
- Developers who want full ownership of their data and workflow
- Users tired of subscription-based productivity apps
- Individuals who value simplicity over feature bloat
I was using the simplest parts of a powerful task manager and paying for the rest. When the subscription price jumped 3x, I realised I was paying for features I didn't use and the value no longer justified the cost - it forced a question I hadn't thought to ask before: not which tool to switch to, but whether I wanted to keep depending on one I didn't own.
I wanted a task system I understood completely - one where the data, the workflow, and what gets built next were all mine to decide. Tasklog is that. Runs on my machine, works across all my devices, and evolves when I need it to.
- Complete ownership - data stays local, in a file I control and can move anytime
- No service dependency - no pricing that can change, no sync service to go down, no account to manage
- Built around real use - every feature is something I actually use daily
- Grows on my terms - self-hosted and open source, it runs as long as I want and changes how I need
Capture and organize
- Add tasks with a title, deadline, project, and labels in one step
- Inbox as the default catch-all; create custom projects for everything else
- Labels with color coding for cross-cutting organization and filtering
Track and complete
- Deadline color coding - red when overdue, yellow when due within 3 days
- Edit a task's title, deadline, project, and labels from the list; quick-set deadlines (Today, Tomorrow, This weekend, Next week) or clear them with one tap
- Multi-select to act on many tasks at once - complete, move to a project, or set a deadline in one step
- Set a priority (P1-P4) per task, shown as a colored dot and filterable
- Checkbox completion with a clean animation - done tasks step aside, not deleted
- Show/hide completed tasks and undo completion at any time
- Break a task into subtasks - a checklist of tickable steps shown right on the card with a "2/5" progress badge, drag-reorderable in the detail; give a subtask its own deadline and it also shows up in your due list, linked back to its parent
- Task detail page with full status, comments, subtasks, and completion history
Track your time
- A persistent tracking bar (bottom-left on desktop, full-width on mobile) - type a task name and hit Start to quick-create it and begin tracking immediately; one tap stops the timer
- Per-task start/stop button on each task row; at most one timer runs at a time
- Toggl-style timeline at
/time- a vertical hour grid with day or week view; project-colored blocks for each interval; click to log, edit, or delete entries - Projects carry an optional hex color that appears as a left border on timeline blocks
Repeat and build habits
- Recurring tasks with Todoist-level rules - daily, every N days, weekly on chosen weekdays, monthly on a day-of-month or the "3rd Thursday" / "last day", every-other-week intervals, and end conditions (until a date or for N times). Completing one spawns the next occurrence automatically
- Natural-language quick-add - type "Email Mark friday #Work @urgent p1 every week" and the date, repeat, project, label, and priority are parsed inline as you type
- Daily habits - flag any task a habit and check it in each day from the Habits view; see your current streak and a last-7-days dot row
Journal your day (v3.0)
- A structured daily journal at
/journal- morning check-in, mind dump, today's plan, gratitude, affirmations, and an evening review, all on one page with a calendar to browse any day - Mood check-ins through an interactive feelings wheel; the day renders as a "mood arc" chart, and your emotional shift and end-of-day energy are derived from what you logged, never typed
- The day's plan links real tasks - tick them from the journal, and anything you finished off-plan appears automatically under "Unplanned, got done"
- Front of mind / Back of mind lists you clear by the end of the day; anything left rolls into tomorrow until you consciously keep or close it
- Every day exports as a clean, Obsidian-compatible markdown note - one day or your whole journal as a zip
Works everywhere
- Clean table on desktop, card view on mobile
- Background auto-refresh - changes from other devices appear without a reload
- All data stored locally - no cloud, no account, no sync service required
- Cross-platform and runs on Windows, macOS, and Linux - your laptop or a home server, whatever fits your setup
Talk to your tasks via Claude (v2.10)
- Tasklog can be plugged into claude.ai as a custom connector (Model Context Protocol server)
- 36 MCP tools: create/manage tasks and subtasks, find any task or subtask by name, check in habits, start/stop timers, query time summaries, manage projects and labels - all from claude.ai web or mobile
- Tasks created via Claude appear instantly in your Tasklog UI
- OAuth 2.1 with GitHub upstream gates access; only your username is allowed
- The Tasklog API itself stays LAN-only; only one tightly-scoped MCP endpoint is exposed
- See guides/mcp-server-setup.md for the end-to-end setup
Desktop
Task detail
Mobile
Ready-to-run packages - no prerequisites needed. Extract and run.
| Platform | Download |
|---|---|
| Windows (x64) | Tasklog-win-x64.zip |
| macOS (Apple Silicon) | Tasklog-mac-arm64.tar.gz |
| macOS (Intel) | Tasklog-mac-x64.tar.gz |
| Linux (x64) | Tasklog-linux-x64.tar.gz |
macOS note: The app is not code-signed. On first run, open System Settings > Privacy & Security and click "Open Anyway" if macOS blocks it.
- Extract the downloaded package
- Run
Tasklog.exe(Windows) or./Tasklog(macOS/Linux) and open the URL shown in the console
That's it. The app opens in your browser.
Windows first-run notes:
- If Windows SmartScreen warns the app is unrecognized, click "More info" then "Run anyway"
- When prompted by Windows Firewall, allow network access for both the backend API and Node.js - this is needed for the app to work on your local network
- Dark mode and custom themes
- Dedicated device setup guide (Raspberry Pi, Term home server)
The next major version brings intelligent input and external integrations - the features that made me question whether I needed a subscription in the first place, now built the way I actually want them.
Natural language input
Type tasks the way you think them. Submit design review by Friday #work gets parsed into a title, deadline, and label automatically. No separate date picker, no dropdown for project - just a single input that understands context.
MCP integration Expose Tasklog as a tool via Model Context Protocol. Claude Code, Obsidian, or any MCP-compatible client can add tasks, complete them, and query your inbox directly - without opening a browser. The goal: your task system becomes a layer other tools can write to.
Voice input Speak a task, let the NLP layer handle the rest. No extra service required - uses the browser's built-in speech API as the input layer.
- PostgreSQL migration when SQLite is no longer sufficient
- Offline access and sync - PWA with local task cache and background sync
Browser
|
v
Next.js frontend -- UI, routing, client state
|
v
.NET Web API -- data logic, REST endpoints
|
v
SQLite -- local file, no database server needed
- Two independent processes that communicate over HTTP - frontend on port 3000, backend on port 5115
- No cloud, no external database - the SQLite file lives next to the backend executable
- Frontend serves the UI; backend owns all data operations
For full detail see docs/architecture.md.
- Backend: ASP.NET Core 10 Web API, Entity Framework Core, SQLite
- Frontend: Next.js 16 (App Router), React 19, Tailwind CSS v4
- Icons: Lucide React
- Fonts: Space Grotesk (headings), DM Sans (body)
- Built with: Claude Code
For contributors or anyone who wants to run from the repository directly.
Backend
cd backend/Tasklog.Api
dotnet runRuns on http://localhost:5115 by default (see Properties/launchSettings.json).
Frontend
cd frontend
npm install
npm run devRuns on http://localhost:3000. Configure the API base URL in frontend/.env.local.
Both servers must be running at the same time.
| File | What it covers |
|---|---|
| docs/architecture.md | System structure, data model, API endpoints, component responsibilities |
| docs/product-design.md | What the product is, who it's for, feature rules and current scope |
| docs/engineering-guidelines.md | Coding patterns, component conventions, known deviations |
| CHANGELOG.md | Version history and what changed in each release |
Tasklog is intentionally opinionated. Some things are not included by design:
- No cloud sync — all data stays local
- Runs as a local server - on your laptop, desktop, or a dedicated home server
- Not built for team collaboration (yet)
- Limited integrations compared to SaaS tools
If these are dealbreakers, this might not be the right tool, and that's okay.



