Your lists, in plain files.
Todos, bills, calendar, health, bookmarks, places, the things you own. One self-hosted app on the web and on Android; every list is a YAML or CSV file next to your notes.
โ๏ธ Today, your way
Overdue, today, next 7 days, your numbers, any list or a note. Choose the blocks and the menu order.
โก Fast to use
One-tap Done, swipe, bulk edit, undo everything. Call bank tomorrow #todo !high fills in the date and tags.
๐ Plain files
No database. Only the record you change is rewritten: comments, order and other apps' fields stay.
๐ค Android
Fully offline over your Syncthing folder, 13 widgets, fingerprint lock, Samsung Health every morning.
๐งฉ Plugins in YAML
A new kind of list is one plugin.yml: fields, groups, buttons, Today rules, totals.
๐ Private
Single user, hashed password, IP bans, signed cookies, no tracking, no third-party requests.
Lists
| List | File | What it does |
|---|---|---|
| ๐ Events | event.md | Todos and reminders, repeating ones too |
| ๐ณ Subscriptions | subscription.md | Bills, renewals and real monthly spend |
| ๐๏ธ Calendar | calendar-local.md | Month, week and schedule; Google entries alongside, read-only |
| โค๏ธ Health | health.md | Daily steps, sleep, heart and weight with charts; races and gym |
| ๐ฆ Inventory | inventory.csv | What you own, where it is, what it is worth |
| ๐ Bookmarks | bookmark.md | Links with tags; paste a link to add it |
| ๐ Locations | location.md | Saved places, opened in Maps |
| ๐ Architecture | homelab.md | One Markdown note as a handbook |
Run your own
-
Get it
git clone https://gitlab.com/niharokz/natlas.git && cd natlas cp .env.example .env && mkdir -p config && cp natlas.example.yml config/natlas.yml
-
Set the login in
.envopenssl rand -hex 32 # NATLAS_SECRET_KEY (and NATLAS_DEVICE_KEY)
Plus
NATLAS_USERNAME,NATLAS_PASSWORD,NATLAS_DATA_DIR(your files) andTZ. -
Start it behind HTTPS
docker compose run --rm natlas check && docker compose up -d --build
Point your proxy at
natlas:8080, sign in, then Add to Home Screen or install the APK.
Just looking? sh scripts/dev.sh runs it on localhost:8080 with sample data. Everything else is in the
README.