tidl keeps your calendar, tasks, notes and contacts in one place, with a Focus list that sorts them by what is coming up next. It uses CalDAV and CardDAV, so the apps on your phone keep working, and it can pick up tasks from your markdown notes.
Events, tasks and awaits in one list, sorted by how soon they need attention.
Events, tasks and awaits from every calendar, note and markdown file
An event that is about to start moves above your tasks
Re-ranks every minute, with today, 3-day and 7-day horizons
Your notes stay plain text
Tasks can live in your markdown notes
Point tidl at a folder or a git repo. Tags in your notes become tasks next to your calendar. They can also become awaits: things you are waiting on from someone else, like a quote or a reply. An await stays out of the way until its date, then shows up in Focus so you remember to follow up.
notes/launch.mdmarkdown
# Launch week
- #task/p5/finish-export-writeup
- #await/2026-09-28/signed-contract-acme
- #task/p30/reply-vendor-rfp
- #task/2026-10-11/renew-passport
Lunch with @Alan Turing: send the deck by Friday.
Focus · 7 dayslive
1Signed contract from Acmeawait · due 2026-09-28URGENT
2Finish export writeuplaunch.md · p5URGENT
3Team standupwork · 09:30 tomorrowUPCOMING
4Reply vendor RFPlaunch.md · p30LATER
The same kind of note, opened in tidl. Tags show up inline, with a checkbox you can tick.
1 binary · 1 SQLite file
One small program
Written in Rust. The server, the web app and the sync engine ship as one executable. Run it on a Pi, a NixOS box or Windows.
RFC 4791 · RFC 6352
Works with the apps you have
Standard CalDAV and CardDAV, so your phone and desktop clients sync as they always have.
iOS CalendarApple ContactsDAVx⁵Thunderbird
Apache-2.0 / MIT
Free and open source
The code is meant to be easy to read and change, and contributions are welcome. Your data stays in files and a database on your own machine.
If this sounds like something you’d use, here’s how to set it up.
tidl is free and built in spare time. If it is useful to you and you would like to help, you can support puckles with a coffee on Ko-fi. Bug reports and pull requests help just as much.
The full feature list, the markdown syntax, and how to run it and connect your clients.
Calendar
Views
Day, work week, week and month. Drag to resize events, zoom the hour scale with −/+ or Ctrl/⌘ + scroll.
Multiple calendars
Colour-coded, toggled on and off from the sidebar. A muted 12-colour palette that adapts to light and dark mode.
Recurring events
RRULE recurrences. Edit one occurrence or the whole series, or delete a single occurrence.
Reminders
Full VALARM support. Display and audio alarms fire in the browser, email alarms are sent by the server.
Import & subscribe
Import .ics files, subscribe to webcal feeds like school portals or public holidays, and mirror any remote CalDAV server.
Invitations by email
Forward a meeting invite to your personal tidl address and it lands in your calendar.
Week view with calendar toggles.
Month view.
Focus & tasks
Focus
One urgency-ranked list of events, tasks and awaits, for today, 3 days or 7 days. Events climb as they approach and outrank tasks once they are imminent. Re-ranks every minute.
Suppress
Hide an item from Focus for good. Suppressed items stay in a collapsible section so you can undo.
Tasks
One priority scale from 1 (highest) to 100, shared by the app, notes and markdown. Mapped to CalDAV's 1–9 so Thunderbird edits stay in sync.
Await
Things you are waiting on, by date. Future items show purple, overdue ones red.
Done
Every completed item — from a note, a markdown tag or a calendar — lands in one Done list, searchable and filterable, with a live count in the nav. Re-open a mistake, or archive an item to strip it from its source. A retention rule can archive items automatically once they age past it.
Priority curves
Reshape how time left and priority turn into urgency, by dragging points on a graph with URGENT, SOON, UPCOMING and LATER bands.
Drag-editable priority curves.
Focus, ranked by urgency.
The Done list, with search and an archive toggle.
Notes
Collections
Notes in colour-coded collections, private or shared. Pin, star and search across everything you can see.
Labels
Reusable colour-coded labels on top of collections, with a picker in the editor and a filter panel beside Focus. Create, rename or recolour one without leaving the page.
Free-form grid
Drag a note to any cell. Auto-layout previews a tightly packed grid; keep it or switch back.
Inline tasks & awaits
Add any number of tasks and awaits to a note. Each is a one-line chip with a checkbox that appears in Tasks, Await and Focus and syncs over CalDAV. Click a chip to rename it or change its priority; a checked-off one re-opens in place.
@mentions
Type @ to link a contact. Click the pill to see their details without leaving the page.
Bulletize / Taskify
Turn checklist items back into plain bullet lists when they were never tasks, and back again, in one click.
Images & links
Attach images inline (up to 5 MiB each) and click one to open it full screen. Bare URLs become clickable links.
Consolidate to Markdown
Write a note out as a new file in a chosen markdown source and folder. Its title becomes a heading, its images become sidecar files, and its tasks, awaits and [[wikilinks]] survive the move. Git-backed sources are committed and pushed.
Google Keep import
Drop in a Takeout zip. Titles, labels, pins, checklists and images come across.
Contacts
Rich records
Name parts, nickname, organisation, birthday, anniversary, categories, a photo, and any number of addresses, emails, phones, URLs and IM handles.
Collections
Colour-coded address books, private or shared. Each one is its own CardDAV address book.
Merge duplicates
tidl suggests likely duplicates. Merge them and pick which name, details and photo to keep.
Import & export
Read and write standard .vcf, photos included, with a preview before you import.
Markdown
Add a local folder or a git repository as a source. tidl watches it and turns tags into tasks, shown as the same chips you get in notes. Browse and edit files in the app, click a chip to change it in place, follow [[wikilinks]], or jump to any file with Ctrl/⌘ K.
Pull out into Note
Import the open file into a note collection. A leading # Title becomes the note title, relative images are re-imported, and you can keep or delete the file. Together with Consolidate to Markdown on the note side, this moves content either way without losing its tags, links or mentions.
Tag syntax
#task/p1/critical-bug priority 1 (highest) to 100
#task/2026-06-01/renew-passport dated task, no priority
#await/2026-01-15/call-dentist waiting on something until a date
#done/2026-06-02/p1/critical-bug written when you tick it off; un-checks back
The note as you read it, with tasks and awaits inline.
Sharing & sync
Share by email
Share a calendar, note collection or contact collection with another user, read-only or read-write. It shows up in their app and their CalDAV/CardDAV clients.
Live updates
New events, edits and revoked shares appear in open tabs on both sides without a refresh.
App tokens
A named credential per client, revocable without changing your password.
Accounts
Self-service sign-up with email verification, single sign-on, and an admin view for users.
Outlook bridge
A PowerShell script pushes your local Outlook calendar into tidl. No install or admin rights needed.
Install
tidl ships as a multi-arch container image, prebuilt release archives and a NixOS module; you can also build it from source. Every route needs a secret — a secret in the config, or a file named by TIDL_SECRET_FILE — and anything reachable from outside your network belongs behind a reverse proxy with TLS.
Please don't run tidl on an open network. It has not received the security attention a public service needs, so keep it on localhost or a private network you control. Putting it behind a reverse proxy with TLS is a good idea, but it is not a substitute for that. An overlay network such as Tailscale, Nebula or WireGuard can give you access from elsewhere without exposing the server directly.
Docker Compose
The quickest path is the published image (linux/amd64 and linux/arm64), configured entirely through TIDL_* environment variables. The data volume is the only path that needs to persist.
openssl rand -base64 32 > tidl-secret # or: tidl-server generate-secret
docker compose up -d
docker compose exec tidl tidl create-admin \
--email you@example.com --username you \
--display-name You --password 'a-strong-password'
Prebuilt archive
Each release also publishes a Linux tarball (x86_64 and aarch64) and a Windows zip: the server, the web assets and a sample config. Unpack it, add your secret, and run the launcher from inside the folder.
Release archive
VERSION=0.1.0 # latest release
curl -LO "https://github.com/tidl-dev/tidl/releases/download/v$VERSION/tidl-linux-x86_64-$VERSION.tar.gz"
tar xzf "tidl-linux-x86_64-$VERSION.tar.gz"
cd "tidl-linux-x86_64-$VERSION"
cp config.toml.example config.toml # set secret, then run
./run.sh
NixOS module
On NixOS, add the flake as an input and enable the module. It runs the server under systemd and can read the secret from a file — a sops secret here.
With the Rust toolchain, or the Nix dev shell, build the server and the WASM frontend together. Run it from the folder that holds assets/ and target/site/.
tidl speaks plain HTTP and expects a TLS-terminating proxy in front of it for anything off localhost. Caddy with automatic certificates needs almost nothing; nginx needs a few settings tidl relies on.
Three things matter for tidl. Keep the Authorization header intact — CalDAV and CardDAV clients sign in with HTTP Basic, and some setups drop it. Raise the body limit, since nginx's default 1m is smaller than the 5 MiB inline note images. And leave buffering off with a long read timeout, so the server's live-update stream is not held back. The URLs to enter in your devices are on Connect a client.
Connect a client
Calendars & tasks
https://your-domain/caldav/username/calendar Tested with iOS Calendar & Reminders, DAVx⁵ and Thunderbird.
Contacts
https://your-domain/carddav/username/ Most clients discover every address book from this URL. Tested with iOS Contacts and Thunderbird.
Sign in with
Your tidl username and password, or an app token from Settings → App Tokens.
Reading
Books on notes, attention and time
tidl is a tool, and a tool only helps if the habits around it work for you. These books are good company for anyone thinking about how they keep notes and spend their days.
Notes and thinking
How to Take Smart Notes
Sönke Ahrens
A practical guide to the Zettelkasten, the slip-box system the sociologist Niklas Luhmann kept for decades. Write short notes in your own words, link each one to what you already have, and let new writing grow out of those links instead of a blank page.
Building a Second Brain
Tiago Forte
Capture what resonates, organise it by the projects it serves, and keep distilling it so it is easy to use later. The aim is to spend less effort remembering and more on making things.
The Extended Mind
Annie Murphy Paul
Drawing on psychology and neuroscience, it shows that we think better with things outside our heads: notes, sketches, the spaces we work in and the people around us. A good case for writing things down instead of holding them in memory.
Tasks and habits
Getting Things Done
David Allen
The classic method for getting commitments out of your head. Capture everything, decide the next action for each thing, and keep a separate list of what you are waiting on from others. Its weekly review is still one of the most useful habits in this space.
The Bullet Journal Method
Ryder Carroll
A paper system that keeps tasks, events and notes in one running log, with a monthly habit of rewriting what still matters and letting the rest go. The book is as much about intention as about notebooks.
Atomic Habits
James Clear
On how small, repeatable changes add up over time, and how to shape your surroundings so good habits are easy and bad ones are hard. Less about notes, more about the routines that make any system stick.
Attention and time
Four Thousand Weeks
Oliver Burkeman
Starting from the length of an average life, it argues that you will never get everything done, and that accepting this is a relief. Choosing what to leave undone becomes part of the work.
Deep Work
Cal Newport
Makes the case for long, undistracted stretches of concentration, and gives concrete ways to protect them in a week full of meetings and messages.
Slow Productivity
Cal Newport
Do fewer things, work at a natural pace, and care about the quality of what you make. A gentler follow-up to Deep Work for anyone tired of busyness as a measure of progress.
Essentialism
Greg McKeown
On doing less, but better. Tell what is essential apart from what is merely urgent, and say no to the rest without guilt.
The ideas behind the tool, drawn from the books on the Reading page — and how each one turns into something you can use.
Several of the books on the Reading page keep arriving at the same handful of ideas from different directions: that thinking goes better outside your head than inside it, that a list only helps if it says what to do next, and that attention is the scarce thing, not hours. tidl is built around those ideas. It is also built to leave out the parts that get in their way.
Write it down, in your own words
The Extended Mind makes the case that we think better with notes, sketches and rooms than with memory alone, and How to Take Smart Notes turns that into a habit: short notes in your own words, linked to what you already have. tidl keeps notes as plain markdown files you own rather than rows in someone else’s database. Tags in those files become tasks, [[wikilinks]] join one note to the next, and the file finder (Ctrl/⌘ K) stands in for the link you would otherwise make by hand.
Keep the next action apart from what you are waiting on
Getting Things Done is mostly one move: get every commitment out of your head, then name the next action for each one. That only holds up if “call the dentist” and “waiting for the dentist to call back” are not the same list. tidl keeps them apart — Tasks and Await — so the thing you can do today does not queue behind the thing you cannot.
Choose what to leave undone
Four Thousand Weeks and Essentialism argue toward the same conclusion from opposite ends: you will never finish everything, so deciding what to ignore is part of the work rather than a failure of it. tidl gives that decision a place to live. The Focus horizon — today, three days, a week — sets how far ahead you are willing to look, and suppressing an item keeps it out of the way for good without pretending it was never real.
Protect the one thing that matters now
Deep Work and Slow Productivity are about defending long, undivided attention from a week full of interruptions, and a list that shows everything at once works against that. Focus ranks by what is coming up next and keeps the next thing at the top — events climbing as they approach and outranking tasks once they are imminent — so the list answers “now what” instead of “what about everything”.
That is the whole argument, and it is a small one. tidl is a tool, not a method, and it tries to stay out of the way of the books rather than stand in for them. The Details page shows how the pieces fit together; the Reading page is where the thinking came from.