Lotti

Private logbook with AI assistants

by Matthias NehlsenVerified

ProductivityFree software· GPL-3.0-onlyRecently updated on FlathubAll ages
Flathub (Flatpak): ★ 5.0 (1)7.5K installsUpdated 7 days agoActively maintained
Flatpak (recommended, ✓ verified) AppImage Arch Linux GitHub ReleasesStandard: Stable Other builds: Bin

Screenshots & videos

About

Lotti gives you a private logbook and a staff of personal AI assistants to go with it. Record your day the way it actually happens — tasks, tracked time, voice notes, transcriptions, journal entries, habits, and health data — and long-living agents read what you record, keep it summarised, remember the context you would otherwise lose, and propose the next step. Agents suggest, you decide: every proposed change waits for your approval, with one small exception — an initial title or language for an otherwise empty task. All of it happens on your own devices. No server ever holds your data in readable form: multi-device sync is end-to-end encrypted, and the relay between your verified devices holds only ciphertext — not forever, and nothing depends on it keeping anything. There is no telemetry. On capable hardware the AI models run locally too, so your data never has to leave the machine; on lighter hardware, or to save battery, you route inference — per life category — to a cloud provider you choose. Your logbook is ordinary SQLite on your own disk with attachments in ordinary files beside it, readable without Lotti, so there is nothing to export and nothing to unlock. Under the hood, sync runs over Matrix using Vodozemac (Rust) for Megolm crypto; the homeserver relays only ciphertext between your own devices, and encryption keys reach only devices you have verified. A new device catches up because your other devices re-send history, not because a server stored it. Get support and join the Lotti community on Discord via the Contact link. What it does: - Long-living AI agents (mission, soul, report directive) that read your logbook, propose changes, and only act after you approve - Two-database architecture: a strict separation between your facts (the user database) and what the agents think (the agentic database), enforced on disk - Run reasoning-capable models locally via oMLX or Ollama (e.g. Qwen 3.6 35B A3B, a Mixture-of-Experts model with ~3B active parameters) — or use Gemini Flash, OpenAI, Anthropic, Mistral, Melious.ai, or any OpenAI-compatible cloud provider, on a per-category basis - Local voice transcription with Whisper or Voxtral; cloud transcription via Gemini, OpenAI, Mistral, or Melious.ai - AI-generated cover art for tasks via Nano Banana Pro on Gemini, OpenAI, or Qwen, and Flux on Melious.ai - Both the logbook and the agentic state sync end-to-end encrypted - Habit tracking with success/fail/skip completion types, custom measurables, and dashboards - Bring-your-own API keys for cloud providers, choosing per category where inference happens — EU-hosted, US, Chinese, or entirely on your own machine - Usage & Impact: tokens and requests for every cloud AI call, broken down by category and model, plus cost, energy and CO2e wherever the provider reports them (currently Melious); local inference is not measured - Time recording kept separate from planning, so what you meant to do and what actually happened stay distinct facts

Changelog

Changed: a check-in's page now looks like a task's. It opens under the person's category and name, as a task opens under its category and project, with the same large title and the same square tags for when, how, how long and how it felt - each still a tap away from changing, and the feeling now shown with a face in its colour. A length or feeling not yet set is offered as a soft round pill, the topics share one tag, and "Edit check-in" now sits at the end of that row, where a task keeps "Details", instead of in the far corner. The words the check-in was logged with sit on the page under a faint rule, where a task keeps its notes, instead of in a box of their own. Changed: the check-in form now shows the same facts as the saved check-in. Under the note, how you connected, when, how long, how it felt and the topics sit in the same row of tags the check-in page shows - each still opening its picker, a missing one offered in a soft round pill - so what you set is exactly what you'll see once it's saved. Topics and the notes for next time fold out of the last pill, already open when you edit a check-in. While you're recording, the recorder takes the whole sheet. Changed: the check-in form no longer punches dark boxes into the sheet. The note and the topics and next-time fields are now outlined on the sheet itself, like the fields in the app's other forms, in light and dark mode. Changed: recording a check-in now uses the same recorder as a task. Dictating into a check-in - in the form or on its page - shows the recording look you chose (the orb or the VU meter) and the same Discard, Stop and Pause controls as the recorder a task's microphone opens, instead of a recorder of its own. Changed: the recorder has a calmer, studio-style layout. Stop is now the same red button a task's "Track time" shows while it runs, with the recording's running time inside it. The moving level bars from onboarding run as a thin line under the orb or VU meter - teal under the orb, neutral under the meter - and lie flat when you are silent. Discard and Pause sit either side of Stop as quiet rings, and "Transcribe" is a small switch underneath. Dictating on a check-in's page no longer covers half of it: the recorder there leaves the orb out. Changed: recording lengths read the same everywhere. A recording's length now shows as 00:42 (and 01:02:03 past the hour) in the journal, on an entry's header and in a check-in, matching the recorder, the audio player and a task's running timer - no more 0:42 beside 00:42 on one screen. Changed: an AI cost pill now appears only when the cost is known. A transcript from Melious's speech-to-text models carried a pill reading "Cost unknown" on every recording, because that service does not report what a transcription costs. Pills now show only where a cost was reported; the full attribution details are unchanged. Fixed: the voice orb no longer draws dark streaks in light mode. Its brightest moments now glow in a light mint instead of turning near-black, and the grey haze around the ring is gone - on the recorder, in the Daily OS capture and in onboarding. On the recorder it now sits on a soft pool of light. Dark mode looks exactly as before. Fixed: the correction of a Daily OS voice capture is counted with its transcript. The model call that fixes misheard speech-dictionary words was recorded as separate work of its own. It is now part of the transcription it corrects, so its cost appears alongside that transcript. Fixed: a pull request's details now scroll to the very end of its description. The "Open on GitHub" bar floats over the page, and the last lines of a long description stayed hidden behind it however far you scrolled. The page now leaves exactly the bar's height of room below the description. Fixed: screenshots written as HTML in a pull request's description now show as images. Descriptions that size their screenshots with image tags, as many screenshot tables do, showed the tags as text. They are now loaded and shown like any other image of the description, at the width the tag asks for, with the full-size viewer and "Add to task". Fixed: pairing no longer stalls when both devices open the emoji check at once. Right after a device joined, each side could start the verification at the other, and each then sat on a sheet waiting for a request the other never showed. One side now hands over to the other's request inside the sheet it already has open, and a request that arrives while another verification sheet is up is shown as soon as that sheet closes instead of being lost. Fixed: closing a verification sheet cancels it for the other device too. Tapping outside the emoji sheet used to leave the other device waiting on a ceremony nobody would finish. It now sees the cancellation and can start again. Fixed: "Show the emoji" reopens the device you were looking at. When another device's keys arrived while a ceremony was open, the button could reopen that device instead of the one just dismissed. Fixed: "Show the emoji" no longer reopens the sheet a second time. With the sync settings open behind the setup sheet, closing the reopened emoji sheet brought it straight back once more. Fixed: Add device waits for the device list before showing the pairing code. A code shown while the list was still loading could mistake the device that scanned it for one that had been there all along, and never unlock the settings and history transfers for it. Fixed: sync starts on its own once the network is back. Opening the app without a connection used to leave sync off until the next restart. Fixed: signing in with your own homeserver details joins your existing sync room instead of creating a new one, so your devices stay together. Fixed: changes a device sent before you verified it now arrive once the verification completes, instead of being dropped. Fixed: catching up after a gap no longer stops trying. When fetching the messages a device missed kept failing, sync gave up after three tries and waited for something else to wake it, which on a quiet account might not happen. It now keeps trying, waiting a little longer each time, up to five minutes. Fixed: settings, feature flags and AI settings changed while you were offline now reach your other devices. Changes that failed to send used to stay in the outbox as failed until you tapped Retry. They are now tried again automatically. Fixed: changes sent from a newer version of the app are no longer lost on a device that has not updated yet. That device applies them once it updates. Fixed: a sync message an older version of the app could not read is read once the app is updated. Before, such a message, like a saved filter using an option from a newer version, was skipped for good. Fixed: a very large single change now reaches your other devices. A change too big for one sync message used to fail for good; it now travels as a compressed attachment instead. Fixed: "Send settings" now also repairs your theme, your Daily OS greeting name and your feature flags. These were sent once when you changed them, so a lost message left another device on the old value. A device that already holds a newer value keeps it. Fixed: restoring a backup no longer confuses sync. Changes made after the backup are not mistaken for missing ones, and new changes never reuse an old change's number. Fixed: a reworded reminder keeps its new words on every device, even when another device's clock runs ahead. Fixed: a missing photo or recording is not requested again on every launch once no device can supply it. Fixed: an AI provider, model, prompt or skill deleted on one device could stay on the others. When the change could not be queued for sending - the sync outbox was briefly unavailable, or the app closed between the write and the queue - the deletion was gone here and nothing recorded that the other devices had not heard. A deleted prompt had no row left for "Send settings" to re-send either. Every AI configuration change is now owed to the other devices until the outbox has taken it, sent again at the next start or a minute later if it was not, and "Send settings" re-sends deletions along with the rows. Fixed: a lost change to your AI settings is found and fetched again. If a device missed an edit to a provider, model, prompt, profile or skill, or its deletion, it now notices the gap and asks your other devices for it, instead of keeping the old setting until it changes again or you press "Send settings". Fixed: a model left behind by a deleted provider is no longer listed. A model edited on a device that had not yet heard the provider was deleted stays stored, so undoing the provider's deletion brings it back, but it is hidden from the model lists until then rather than shown under a provider that no longer exists. Fixed: removing a provider's API key now removes it on every device. Before, an empty key arriving from another device was taken for a failed keychain read and the other devices kept theirs; a key cleared on purpose now says so, and the peers clear it too. Fixed: deleted dashboards and measurables, and removed links, stay deleted on every device. Cleaning up deleted entries used to erase deleted dashboards and measurable types outright, so a device that still held an old copy could bring them back. A link changed to another type could likewise reappear under its old type when a late copy arrived. Both now stay gone. Fixed: confirming a relationship suggestion again after undoing it creates the task cleanly on every device. Before, it created the task over the undone one in a way other devices showed as a conflict. Fixed: sync no longer asks other devices over and over for the records of an agent you deleted. Fixed: an agent you delete stops on your other devices too, even when one of them missed the deletion at the time. Fixed: repairing vector clocks no longer overwrites a recent agent change made while the repair ran. Fixed: a resumed task agent follows its task again right away after a sync hiccup, instead of only after a restart. Fixed: old agent observations cleaned up on one device no longer come back from devices that have not cleaned up yet. Fixed: disconnecting GitHub reaches your other devices when you use "Send settings", even if the original message was lost. Fixed: older categories, dashboards, habits and links now sync like everything else without a manual repair. Items saved before sync tracked their versions used to need "Repair vector clocks" on one device; every device now does this once by itself when the app starts. Fixed: a feature flag changed right after an update no longer flips back on your other devices. A change queued by the previous version could arrive after the newer one; the older change is now dropped. Fixed: devices still on an older version end up with your latest settings. An older version applied feature flags and AI settings in whatever order they arrived, so a late, outdated change could win there. Updated devices now send the current value again whenever they see that happening. Fixed: entries deleted and cleaned up by an older version no longer come back. When another device still held such an entry, it could reappear after a full resync; it is now recognised and kept away. Fixed: photos and recordings you delete are also removed on devices that have not updated yet, instead of leaving their files behind. Fixed: a few tasks, AI responses and people created on an older version now reach your other devices without having to be edited first.

Additional information

Project

Developer
Matthias Nehlsen
License
GPL-3.0-only (free software)What this license lets you do
Latest release
October 11, 2026 (7 days ago)Actively maintained · 4+ releases in the last year
Release history
Last 4 releases
  • 1.1.52October 11, 2026
  • 1.1.51October 10, 2026
  • 1.1.50October 9, 2026
  • 1.1.49October 9, 2026

Install

Size
67.2 MB
Installs
7,518 on Flathub355 in the last 7 days
Available via
Flatpak · AppImage · Arch Linux · GitHub Releases
Flatpak sandbox
Some access

Runs in a sandbox, with access to some of your files or devices.

What it can access
  • Reads your Pictures folder
  • Can read passwords stored in your keyring
  • Uses the internet
  • Plays and records audio

About this data

Sources
4 independent sources agree
Catalog data as of
October 12, 2026
How each source lists it (4)
SourceNameVersionBuilt byLicenseDescription
Flathub (Flatpak)Lotti1.1.52Official buildGPL-3.0-onlyPrivate logbook with AI assistants
AppImageLotti1.1.41+4427—GPL-3.0-onlyAchieve your goals and keep your data private with Lotti
AUR (Bin build)lotti-bin1.1.52+4440-1Community repackGPL-3.0-onlyA 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 encrypted sync between your own devices — servers only ever see ciphertext. Local AI optional.
GitHub Releaseslotti1.1.41+4427—GPL-3.0A 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 encrypted sync between your own devices — servers only ever see ciphertext. Local AI optional.

Related

Productivity

Browse all →

ChatGPT Desktop

Productivity

A simple and efficient desktop client for ChatGPT that brings AI conversations directly to your desktop.

Snap (recommended) Arch Linux3 buildsStandard: Stable Standard: Nightly Standard: Beta

Claude Code

Productivity

Anthropic Claude Code

Snap (recommended) Arch Linux Gentoo2 buildsStandard: Stable Standard: Beta

Antigravity CLI

Productivity

Antigravity CLI is a tool for managing your Antigravity projects.

Snap (recommended) Arch Linux2 buildsStandard: Stable Standard: Beta

Claude Desktop

Productivity

Claude Desktop App

Snap (recommended) AppImage Arch Linux5 buildsStandard: Stable Standard: Candidate Standard: Beta Standard: Nightly Other builds: Extra

GNU nano (UNOFFICIAL)

Productivity

Small, friendly text editor inspired by Pico

12 platformsSnap (recommended) Arch Linux Debian Ubuntu Fedora openSUSE Alpine Linux Void Linux Slackware Solus Gentoo Nixpkgs5 buildsStandard: Stable Standard: Candidate Standard: Beta Standard: Nightly Standard: Git

Feishu

Productivity

A collaboration platform

Flatpak (recommended) Arch Linux2 buildsStandard: Stable Other builds: BinFlathub (Flatpak): ★ 3.5 (6)

CUPS

Productivity

The CUPS Snap - The Printing Stack for Linux

12 platformsSnap (recommended) Arch Linux Debian Ubuntu Fedora openSUSE Alpine Linux Void Linux Slackware Solus Gentoo Nixpkgs4 buildsStandard: Stable Standard: Nightly Standard: Git Other builds: Gssapi

Tesseract (UNOFFICIAL)

Productivity

open source optical character recognition engine

7 platformsSnap (recommended) AppImage Arch Linux Fedora Solus Gentoo Nixpkgs3 buildsStandard: Stable Standard: Nightly Standard: Git

DeckCraft

Productivity

Presentation and slide show app

Snap (recommended) Arch Linux4 buildsStandard: Candidate Standard: Stable Standard: Git Other builds: Bin

DingTalk

Productivity

An intelligent working platform

Flatpak (recommended) AppImage Arch Linux3 buildsStandard: Stable Other builds: Bin, ElectronFlathub (Flatpak): ★ 2.5 (12)

GridCraft

Productivity

Spreadsheet for calculating, analysing and charting data

Snap (recommended) Arch Linux4 buildsStandard: Candidate Standard: Stable Standard: Git Other builds: Bin

DankCalendar

Productivity

Calendar from the Dank Linux Suite

Flatpak (recommended, ✓ verified) Arch Linux Nixpkgs3 buildsStandard: Stable Standard: Git Other builds: Bin