TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
An open-source, end-to-end encrypted to-do app for the web, Android and Linux.
ProductivityTypeScript · NixGitHub @atlastodoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Atlas Todo: end-to-end encrypted todo app for Atlas (web, Android, desktop)
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Atlas Todo is a self-hostable, end-to-end-encrypted to-do app. Your tasks, notes and attachments are encrypted on your device, and the server you run stores and relays them without being able to read them. The same app runs in the browser, on Android and on the Linux desktop, works fully offline, merges edits per field when it reconnects, and lets you share encrypted projects with other people on your server.
This repository is the app: the React Native + Expo UI for Android, iOS and the web
(apps/mobile) and the Linux desktop shell (apps/electron). The sync server, its Docker image
and NixOS module, the atlas CLI and the core client packages it builds on are in the core
repository, atlastodo/atlas.
Status: pre-1.0. Only the latest release gets fixes, and the sync protocol still changes: keep clients and server on recent versions. The encryption has not been independently audited; SECURITY.md says what it protects against and what it does not. Keep a JSON export of anything you cannot afford to lose.
Try it at app.atlastodo.dev (a test server that may be reset), or self-host it with Docker. Website: atlastodo.dev. Questions and ideas go to Discussions; see Getting help.
Hosted to-do apps can read your tasks, and self-hosted ones usually can too: the server is where the data is decrypted, if it is encrypted at all. Atlas Todo puts the keys on your devices instead, and still gives you sharing, offline use and live sync across them.
| Atlas Todo | Todoist, TickTick | Vikunja | |
|---|---|---|---|
| Run it on your own server | yes | no | yes |
| Server cannot read your tasks (E2EE) | yes | no | no |
| Shared projects | yes | yes | yes |
| Open source | yes (AGPL) | no | yes |
Not there yet:
flowchart TB
subgraph app["this repository"]
subgraph clients["apps/mobile (Expo)"]
android["Android app"]
web["Web app (react-native-web)"]
end
electron["apps/electron<br/>desktop shell"]
end
subgraph core["atlastodo/atlas (core)"]
clientcore["@atlastodo/client-core<br/>local store, sync client, E2EE"]
shared["@atlastodo/shared<br/>recurrence, filters, quick add, i18n"]
server["atlas-server (Rust, Axum) + PostgreSQL"]
end
electron -.->|wraps| web
android --> clientcore
web --> clientcore
android --> shared
web --> shared
clientcore <-->|"HTTPS + WebSocket<br/>(ciphertext ops)"| server
The app installs @atlastodo/client-core and @atlastodo/shared from a core release (pinned in
apps/mobile/package.json). The core repository's
architecture notes cover
sync, the clock and the key hierarchy, and its
sync protocol the wire format.
The server is in the core repository: follow its README and self-hosting guide (Docker Compose, or the NixOS module). Its image serves this app's web build at the server's root URL, so there is nothing to install here for the web app.
Google Play only opens the app to the public after a closed test, so testers are welcome:
The test builds sign in to the test server at app.atlastodo.dev, which may be reset; see the privacy notice.
Release builds start out pointed at the test server, app.atlastodo.dev. To use your own instance, change the Server URL field on the sign-in screen.
atlas-todo-web-X.Y.Z.tar.gz, the static files a server image
or flake pins.atlas-todo-X.Y.Z.apk from GitHub Releases
and install it. docs/android-permissions.md lists the
permissions it asks for, and why.atlas-desktop-X.Y.Z.tar.gz, which contains the app and a
Nix flake for x86_64 and aarch64 Linux. See apps/electron/README.md
for the Nix setup; this repository's flake also has the programs.atlas-desktop NixOS and
Home Manager modules.atlas CLI is released from the core repository; see its
integrations guide.Atlas Todo is a spare-time project with one maintainer. SUPPORT.md says what to expect, and the roadmap where the project is heading.
The dev environment is devenv (Nix). It provides Node 26, Bun and Electron, and the Android SDK on request. The app talks to a server from the core repository (run one there, or point the sign-in screen at any Atlas server).
devenv shell # enter the environment
bun install
web:dev # the web app with live reload, against EXPO_PUBLIC_API_URL
test:all # the electron (vitest) and mobile (jest) suites
lint # typecheck, oxlint, Prettier, licences
CONTRIBUTING.md covers the setup (including one without Nix), the test runners, commit style and what CI checks.
There is no telemetry, analytics or crash reporting SDK: the apps talk to your server and nothing
else, with two exceptions. Release builds of the mobile app check Expo's update service
(u.expo.dev) for over-the-air updates when they start, and the Linux desktop app, unless it runs
from the Nix store, checks this repository's GitHub Releases API for a new version once a day
(--no-update or ATLAS_DISABLE_UPDATE=1 turns that off).
apps/mobile React Native + Expo: the one UI, for Android, iOS and the web
apps/electron Electron shell around the web export
docs/ Android permissions allowlist, the README's screenshots
nix/ Nix packages (web-dist, atlas-desktop), the desktop modules, the tarball's flake
scripts/ Release, packaging and licence tooling
site/ The atlastodo.dev landing page, privacy notice and account deletion page
Copyright (C) 2026 The Atlas Todo contributors.
Atlas Todo is licensed under the GNU Affero General Public License v3.0 only. If you run a modified version as a network service, the AGPL requires you to offer its source to your users.
Contributions are welcome; see CONTRIBUTING.md and the Code of Conduct.