lotti is a free, open source project & work management project written in Dart and released under GPL-3.0. It has 1,175 GitHub stars, 118 forks and 4 open issues, and was last pushed 5 hours ago. On this registry it ranks #46 of 62 tracked projects in Project & Work Management, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is lotti?

Lotti is an open-source, end-to-end encrypted logbook for individuals who want a private, local-first record of the work they actually did, staffed by persistent AI agents that read what is recorded and propose the next change for the user to approve.

What it is

Lotti is a private logbook built with Flutter and Dart, licensed under GPL-3.0 and in development since 2016. It records what you meant to do and what actually happened, and keeps those two as separate facts. Tasks, planned blocks, tracked time, voice notes, journal entries, habits, and health data live in a local database on your own devices, and it runs on macOS, Linux, Windows, iOS, and Android. In this registry it sits in Business Software / Project & Work Management, though its scope is wider than task tracking: it covers time, health, journaling, and agentic workflows in one place.

The concrete problem it solves is the flattening that most task tools perform. A task describes an outcome you want; a time record describes what actually happened, with the notes, photos, recordings, and measurements that explain it attached. Most tools merge the two into a single list and then ask you to pretend the day went to plan, and they hold the result on a server you do not control. Lotti keeps intent and reality apart so the record stays honest when the week gets noisy, and it replaces readable-server sync with end-to-end encryption in which the relay you choose holds only ciphertext, and not forever.

Key capabilities

  • Separate records for intent and reality: a task holds the desired outcome, while a time record holds what happened along with attached notes, photos, recordings, and measurements.
  • Agents that propose rather than write: task, checklist, status, and date changes wait for you to confirm or dismiss them, with the sole exception of an initial title or language for an otherwise empty task.
  • Human-in-the-loop enforcement at the storage layer: proposals are held back by the two-database layout rather than by careful prompting.
  • End-to-end encrypted sync between your own devices, where the relay holds only ciphertext and a new device catches up because your other devices re-send history, not because a server archived it.
  • Per-category model routing, so each area of your life can go to a local model, a frontier model, or the European option Lotti recommends.
  • A usage view reporting tokens and requests for every cloud call, plus spend, energy, and CO₂e for providers that report them, currently Melious; local inference is not measured because that cost falls on your own hardware and grid.
  • No telemetry, and nothing uploaded to Lotti.

Who uses it and how

  • Individuals running the app across several of the five supported platforms at once, relying on encrypted sync to move data between their own devices without a server reading it.
  • Linux users who install from Flathub, or take the tar.gz from Releases when they want a plain archive.
  • People tracking their own work time at scale, as the maintainer has tracked around 11,000 hours in Lotti since 2022.
  • Privacy-conscious users who route sensitive categories to a local model and work-related ones to cloud compute, then check the usage view for tokens and requests.
  • Users on Apple platforms who join through TestFlight, which is limited and invitation only, and Android users who sideload the APK or join Play Store internal testing.

Getting started

Linux users install the recommended Flathub build at com.matthiasn.lotti, or take the tar.gz from Releases; macOS users take the signed and notarized DMG from Releases, and Android users take the APK from Releases or Play Store internal testing. Apple platform access is currently limited to an invitation-only TestFlight, with broader availability planned.

How it compares

No comparable tools are named in the facts provided for this page, and no list of paid products that Lotti replaces is given, so no direct feature, licence, or pricing contrast can be drawn without inventing one. It stands alone in this registry on that basis.

When to use it — and when not to

A self-hoster must run their own devices, choose a sync relay, and accept that agents are only as useful as the model they route work to; AI itself is optional, and the recommended route is European infrastructure running open-weight models. Anyone who wants vendor-hosted readable sync, a single flat task list without an intent-and-reality split, or general-availability iOS and Android distribution should not pick it yet, since iOS is invitation-only TestFlight and the Play Store path is internal testing. Cost and CO₂e reporting is also incomplete: only providers that report those figures appear, which today means Melious alone.

project readme (upstream, from github) — read inline

Lotti

codecov Flathub Downloads GitHub Downloads (all assets, all releases) License: GPL-3.0

Discord for support

A private logbook for the work you actually did.

Lotti records what you meant to do and what actually happened, and keeps them as separate facts. Tasks, planned blocks, tracked time, voice notes, journal entries, habits, and health data live in a local database on your own devices, looked after by a staff of personal AI assistants: persistent agents that read what you record, keep the mess summarised, and propose the next step — while proposed changes wait for your approval. No server ever holds your data in readable form; sync is end-to-end encrypted, and the relay between your devices holds only ciphertext — not forever. AI is optional, and when you do set it up, the route Lotti recommends is European infrastructure running open-weight models.

macOS · Linux · Windows · iOS · Android. Flutter and Dart, GPL-3.0, in development since 2016.

I have tracked around 11,000 hours of my own work in it since 2022.

The task workspace: a filtered task list beside an open task with its cover art, status, labels, and AI summary

Read the manual · Install · Blog series


What is actually different about it

Intent and reality are separate records. A task describes an outcome you want. A time record describes what actually happened, with the notes, photos, recordings, and measurements that explain it attached to it. Most tools flatten the two into a single list and then ask you to pretend the day went to plan. Lotti keeps them apart, so the record stays honest when the week gets noisy.

Agents propose, you decide. An agent can read a task, form an opinion, summarise a mess, and suggest a next change. Its report is an opinion with provenance, not a new fact in your history. Task, checklist, status, and date changes wait for you to confirm or dismiss them. The only exception is an initial title or language for an otherwise empty task. This is enforced by the storage layout rather than by careful prompting — see Two databases.

A task agent's report with two proposed changes, each with a dismiss and a confirm control, plus Confirm all and the automatic-updates toggle

No server ever holds your data in readable form. Your logbook lives on your devices. Sync is end-to-end encrypted: the relay you choose holds only ciphertext, not forever, and nothing depends on it keeping anything — a new device catches up because your other devices re-send history, not because a server archived it. No telemetry, and nothing uploaded to Lotti.

You choose the brain, and you can see what it cost. Route each category of your life to the compute you are willing to stand behind: a local model for the private things, a frontier model for work, or the European option Lotti recommends. The usage view reports tokens and requests for every cloud call, and spend, energy and CO₂e for the providers that report them — today that means Melious. Local inference is not measured at all, because the cost moves onto your own hardware and grid.

Usage & Impact: cost, energy, CO2e, tokens and requests for the month, with cost broken down per day and per category

Install

Platform Where to get it
Linux Flathub (recommended) or tar.gz on Releases
macOS Signed and notarized DMG on Releases
iOS / iPadOS / macOS TestFlight (limited; invitation only), with broader availability planned
Android APK on Releases, or Play Store internal testing (limited; invitation only)
Windows Build from source for now

Get it on Flathub


What you can do with it

Capture

  • Audio recording anywhere in the app, transcribed locally with Whisper (99 languages) or Voxtral, or through a cloud provider with audio support. A rambling voice note comes back as a task with a checklist.
  • Entries: notes, images, measurements, and surveys, attached to the work they belong to.

Organize and reflect

  • Tasks with full lifecycle (open, groomed, in progress, blocked, on hold, done, rejected), checklists, estimates, priorities, due dates, labels, linked context, and optional generated cover art.
  • Task agents: give one task a persistent assistant with its own inference setup, report, wake state, and proposal history. Automatic updates decide when it wakes, not what it may change.
  • Time tracking recorded against the plan rather than instead of it, with focus ratings.
  • Time analysis over categories, habits, and measurements.
Time Analysis: total, focused and other hours for the month, time per day stacked by category, and a per-category table with share and daily average
  • Categories and labels to make the boundaries that your decisions actually use.
  • Habits, measurables, and health data imported from Apple Health and other sources.
  • Projects, events, dashboards, and embedding-backed search exist and are in daily use, but ship switched off. Turn them on under Settings → Advanced → Flags, and expect rough edges.

AI and automation

  • Providers, models, and inference profiles as three separate layers, so routing is explicit and the blast radius of a change is visible before you make it.
  • A European route, offered rather than imposed. Onboarding highlights Melious.ai, an OpenAI-compatible EU endpoint serving open-weight models. You bring your own key and hold your own contract with whoever you pick.
  • Works with everything else too: OpenAI, Anthropic, Mistral, Google, Alibaba, Nebius, OpenRouter, Ollama, or any OpenAI-compatible endp

readme truncated — read the full docs on github

Frequently asked questions

Is lotti free to use?

lotti is open source under the GPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does lotti do?

A private logbook with a staff of personal AI assistants. Agents read what you record and propose what to do next — you approve the changes. End-to-end encrypte

What is lotti written in?

lotti is primarily written in Dart. Its source is publicly available at https://github.com/matthiasn/lotti, and it has 1,175 GitHub stars.