Available for Android, Windows and Linux

Run your day
on one page.

Notes, tasks and appointments in one Markdown file per day. Today's list shows what's still open from the days before, and when you move a task on, the old day keeps the trace. Your files, your cloud, no account. The base app is free, Pro is a one-time €12 / US$12.

Notes/2026/08/2026-08-10.md
Tap a checkbox, then look at the plain text to see what is really in the file.

The whole syntax fits on a napkin

The parser reads line by line; the first characters decide. Anything it does not recognize is ordinary Markdown and passes through untouched.

- [ ] Write the invoice @paul #office

Task, open. Standard GFM, the checkbox renders everywhere.

- [x] Take out the trash

Done.

- [/] Pack the boxes

In progress: begun, not finished. Still open in every sense — it stays in the task list, goes overdue, is ticked off and moved like any open task. The spelling Obsidian and Logseq use, so a folder coming from there keeps its begun tasks.

- [>] Review the offer >2026-08-12

Forwarded. The copy sits on the target day; the trail stays readable. >2026-08-12 is a link to that day — in a task or in any other line. A date written without the sign leads there too: 2026-08-12 in the middle of a sentence opens that day, and moves nothing.

- [-] Prepare the meeting

Dropped.

09:30-11:00 Sprint review @team

A time at the start of a line is an appointment. No special character needed.

- [ ] 19:00 Omega 3 #health

A time on a task says “not before”: the task list and the widgets leave it out until seven in the evening. The note shows it all day, and the list says underneath how many it is holding back — one tap unfolds them.

@paul · #office · #project/x

Contacts and tags, anywhere in a line. Tags can nest.

#weight:81.4 · #mood:7 · #feeling:good

A tag can carry a reading. The tag statistics work numbers out (minimum, maximum, average, median, standard deviation) and draw their run over time; words are counted. Filtering still goes by #weight.

- [ ] Finish the report !

Priority: ! important, ~ can wait. The marker has to stand alone, so “Great!” keeps its exclamation mark.

Offer in [[Projects/Meier]]

A vault link opens a file in a folder of your own — the folders you list under Settings → Linked folders, on that device. Markdown opens read-only in a sheet, formatted — tables as tables, front matter as fields — with the source one press away; plain text and logs open there too, as they are. To change a file, Open in the default app hands it to an editor, which saves straight back into it. Pictures, PDFs and the other everyday kinds open in the app your system opens them with; anything else asks first, with its full path. [[Note|Title]] shows a label instead of the path. No index of note names, no back-references: it is a way to a file, not a knowledge base.

- [ ] Take out the bins R/P1W

Recurrence as ISO 8601, a syntax you can look up rather than one we invented — and where a length will not do, as an RFC 5545 calendar rule: R/FREQ=MONTHLY;BYDAY=3TU is every third Tuesday. Completing puts the next instance on the next date. An appointment takes the same marker — 19:00 Mastermind R/2026-09-04/P4W — and there it is drawn on the days it falls on rather than handed out. One of them falling through is a struck line in its own day: 19:00 ~~Mastermind~~.

19:00 Dentist C/PT30M

A reminder, C for cue: C/ reminds you at the time, C/PT30M half an hour before, C/PT2H two hours before. The length is ISO 8601, as in recurrence, and the marker counts only on a line with a time. It lives in the note; whether anything rings is up to each device.

The non-standard characters ([>], [-], [/], >date, R/P7D, C/PT30M) degrade to harmless text in other editors. Nothing breaks.

Read the full format specification

Every open task. One place.

The task list collects every open - [ ] and every begun - [/] from all days. Whatever is still open on a past day is overdue and sits at the top, with a counter and the “All to today” button. Two taps to clean up after a week of flu.

  • Filter by horizon (overdue · today · 7 / 14 / 30 days · all) and by #tags and @contacts. A tag has three states: one tap asks for it, a second rules it out, a third clears it — “everything except #habits”.
  • Swiping completes a task, moves it to today or a chosen date, or drops it. Undo included.
  • New tasks start here too: the plus button asks for the day first, then — if that day (or its template) has headings — which one, and then opens the task form with everything a task can say. It is appended at the end of the chosen heading; with none picked, at the end of the note. Undo included.
  • Tapping jumps to the source line in the day note, briefly highlighted. The note is the truth; the list is just a view of it.
  • Priority sits as a colour on the checkbox. A glance down the column is enough to see what is urgent.
  • Checklists say how far they are: a task with sub-tasks carries 2/4 — in the note behind its line, in the task list, on the widget and in the task form. A begun item is not half done, and dropped or moved items count for neither side.
  • The day as a calendar: a sheet that slides up over the note, from the bar where the note ends — a time grid for the day or the week, a month as an overview, or the weeks ahead as a list. The four views are switched above it, and the arrows above page by whatever it shows. Appointments stand as blocks where their hours are, and recurrences appear on days whose note does not exist yet. A tap on an empty hour opens a sheet for a new appointment — title, time, rhythm and, on a day with sections, the heading it goes under; a tap on a block opens its line in the text. Open tasks without a time stand in a row above the grid, where they can be ticked off, moved or opened. A repeating task exists as one line and is drawn ahead as a preview: a tap on the preview leads to that line, or ends the repetition. The note stays the truth and the calendar is a view of it. The day is free; week, month and agenda are part of Pro.
  • Colours for tags: give #work a colour and everything below it inherits — #work/offers without a line of its own. The colour fills the calendar's blocks, the widget's boxes and, if you like, the tag in the note itself: the word in its colour, a dot behind it, a bar down the line, or none of that. The assignment is a text file in your own folder (settings/tagwerk.colors) and travels with your sync to every device. Part of Pro.
  • On the home screen: a widget for the day, and one for writing something down straight away. Several day widgets can sit there at once, each with its own settings: which days it covers — from today, with the overdue work, or from tomorrow as a preview of the days ahead — which tags are included or excluded, whether it shows appointments, tasks or both, and how it looks: title, font, how solid the background is, a colour box per tag, lines between the blocks. A tap on a task opens a small card over the home screen: the task with whatever is written under it, and done, in progress, dropped or moved to a date. A tap on an appointment opens the same kind of card: called off, at another time, or moved to another day — for a repeating one, only that occurrence, and the series carries on.
  • Reminders: a notification before an appointment or a task with a time — for the lines carrying C/ or, if you like, for every line with a time, with a lead time of your choosing. On the phone you answer right in the notification: done, in progress or ten minutes later; a tap opens the same card the widget does. Every profile reminds, even while another one is open, and Android keeps its own categories for tasks and appointments per profile — each with a sound of its own. The schedule is worked out from the notes; all the note holds is the marker. On Android and Windows, part of Pro.
  • From any other app: what you share there arrives as a line in today's note — a page as a link carrying its title ([Nextcloud 32](https://…), drawn in the editor as the title to tap), a longer text the way it was written. A list arrives as a list: what was a checkbox over there is one here — ☐ Clean the dishwasher becomes - [ ] Clean the dishwasher, and so does [ ] without the bullet. The same happens on a paste in the editor, for a list you would rather copy than share. Beyond that nothing is read into it: no date is taken out of it, no tag is invented, no line is merged with another. The cursor is on it, and whatever you want to make of it is one keystroke away. Where the day has headings, tagwerk asks which one it goes under. Shorter still, without the share sheet: select the text, and “Add to tagwerk” stands beside Copy — it lands the same way. Anyone who would rather not have it there turns it off in the settings, under “Home screen & system”.

Rebuilt UI excerpt, one row with its swipe actions revealed.

Your data.

One Markdown file per day, the date in the file name. No export needed, because nothing is locked in: the files are CommonMark/GFM and open in any editor. They work with grep, diff and git.

  • WebDAV sync built into the app (Pro) — Nextcloud, ownCloud, Synology or any other WebDAV server, the same on the phone and on the desktop. Your server, no account with us. It runs while the app is open: shortly after you write, when the app starts, and on a clock you choose; on Android also in the background while the app is closed. With Nextcloud, sign-in can also run through the browser — the app receives an app password of its own and never sees your account password. Syncing the notes folder with a tool of your own stays free.
  • Conflicts never overwrite: both versions are kept, the app puts them side by side, you decide. That holds for a note another editor or a sync client of your own writes while the app has it open, too.
  • History: earlier states of a day are kept and can be brought back — each shown as what it would change, and in context on request: the lines around every change, the untouched rest folded away. Restoring keeps the current state too.
  • Day templates (Pro): the templates/ folder holds what a new day starts with — your headings, a task that comes back. Beyond the default (template.md) there is one per weekday (template-monday.md) and one per day of the month (template-day23.md); the most specific one wins. A task moved onto an empty day lands under the heading it belongs to, and the sync carries the templates, so every device builds its days the same way.
  • Errors that explain themselves: the connection test runs as a checklist through network, DNS, TLS, login and write permission. It reports the step that failed. “The server answers but rejects the sign-in.” instead of “sync failed”.
  • No tracking: we don’t want to be tracked ourselves, so we don’t track you either. Not in the app, not on this page.
  • Offline-first. Full-text search across all days, word by word, combinable with #tag, @name, -word, "a phrase" and before:/after: a date. With Pro also by task state: is:open, is:in-progress, is:overdue and more.

Where the notes start depends on the device: on Android in the app’s own storage, on Windows and Linux in a Tagwerk folder among your documents. In the settings you can point the app at a folder of your own instead, on every platform — one that Syncthing or a Nextcloud client keeps in step, say; the notes you already have move with it. An existing folder of daily notes is read as it is: files like 2026-08-11.md are found wherever they sit, and edits go back into the same file. Plus a ZIP export whenever you want one.

The file format is openly documented →

An honest price

The free tier costs nothing, Pro is bought once — and then belongs to you on every platform.

“No subscription: we don’t run servers for you, so we don’t charge rent.”

Free

free, forever

  • Daily notes with the complete syntax
  • Today’s tasks and appointments, as a time grid too
  • Full-text search, never restricted
  • History: earlier states of a day, restorable
  • A simple home-screen widget (today’s tasks)

Pro

one-time purchase, €12 / US$12

  • Task list across all days, filters, overdue actions, search by task state
  • The calendar across days: week, month, agenda
  • Colours for tags — in the calendar, the note and the widget
  • Sync built into the app (WebDAV: Nextcloud, ownCloud …)
  • An overview per tag and person: open and done tasks, appointments, figures & trend
  • Widget configuration
  • Day templates: default, per weekday, per day of the month
  • Profiles: separate spaces with their own folder, sync & color
  • Reminders on Android and Windows, with a sound of their own per profile

On Android you buy in the app, through Google Play. On Windows and in the APK for Android without Google Pro comes from the checkout on the licence page, and the licence file it sends unlocks every device you use. Free stays a complete notebook; Pro turns it into the system.

FAQ

Why only one page per day?

Because one organizing principle is enough. No folders to sort into, no knowledge graph, no back-references. You never wonder where something belongs: it belongs to today. The day note remains a document (“what did I plan that day”), and everything else (task list, filters, overdue) is a view derived from it. If Obsidian is too much for you, that is the point. A [[Note]] is read all the same — as a way to a file in a folder of your own, and nothing more.

What happens to unfinished tasks?

They stay on their day. Old files are never silently rewritten. The task list shows them as overdue, and “All to today” clears the pile in two taps. Moving a task creates a copy on the target day; the original becomes - [>] … >2026-08-12, a trail that stays readable without the app.

Do the files work in Obsidian, Markor & co.?

Yes. The files are ordinary CommonMark/GFM; checkboxes render everywhere. tagwerk’s own characters ([>], [-], >date, R/P7D, C/PT30M) are plain text to other editors. Nothing is lost, nothing gets reformatted.

Is tagwerk open source?

The app is not; the format is. The full syntax specification is openly documented so your files never depend on the app. Any tool may read and write the format. That is also why tagwerk is not on F-Droid; the missing lock-in is our offer to you.

Is there tagwerk for Android without Google?

Yes. For phones without Google Play services — GrapheneOS, /e/OS, LineageOS without GApps, Sailfish OS with Android AppSupport — the same app is available as an APK straight from caliora.org, with a checksum and the signing fingerprint to verify it. It installs beside the Play Store version. Pro is bought there through the licence page, and the app tells you when a new version is waiting.

Is there tagwerk for iOS or desktop?

Windows is out: the same app in a native window, with the notes in a folder you pick and the same WebDAV sync, from the Microsoft Store. It wants Windows 10 version 2004 (64-bit) or newer and the Edge WebView2 runtime — Windows 11 has it and most Windows 10 machines do too; where it is missing the app says so and points at the download.

Linux is out too, and costs nothing: the same app, Pro included, from the Snap Store — on Ubuntu it is in the App Center, elsewhere sudo snap install tagwerk. The sync password goes into the desktop's keyring; where the app cannot reach it, it says so and names the one command that connects it.

iOS and macOS are planned, with no date yet; the waitlist tells you when either of them is out. Whatever the platform: your files live in your cloud and are readable in any editor, on any device.

Is tagwerk any good for school or for a degree?

Both run on dates, and so does tagwerk: homework and submissions are forwarded to the day you will sit down with them, a timetable is a weekday template, and a term of tutorials is a counted repeat (R13/P1W). Marks are a tag with a number, so no second list is needed.

Two guides go through it properly, and both say at every step what is free and what is Pro: your school year in text files and tagwerk at university, the second of which covers syncing through a university's own Nextcloud or ownCloud.

Where do I report a bug or ask for a feature?

In the issue tracker on GitHub: one form for bugs, one for requests. The bug form asks for the note it happens with — that is what the parser sees, and it is usually the whole answer. The tracker is public, so replace private content before you paste a day.

The app links there as well, under Settings, next to the imprint.

What is caliora?

The brand behind tagwerk: tools and methods for structured work, at home at caliora.org. tagwerk is the tool we work with ourselves.

Waitlist

tagwerk is out for Android, Windows and Linux. iOS and macOS are planned, with no date yet. For Android without Google services there is the APK straight from here. Leave your address and we write once, when tagwerk is out for your platform.

Tell me when tagwerk is out for

You get one mail to confirm the address. Unconfirmed sign-ups are deleted after seven days. When your platform is out, you get one mail and the entry is deleted. News only if you ticked the box, and every mail has a link to delete your address. Details in the privacy policy.

Get tagwerk

The free tier costs nothing, Pro is bought once, on every platform. We plan our own days with tagwerk. Whatever gets in our way at work gets fixed, whatever is missing gets built. What you report now shapes the app — bugs and requests go to the issue tracker on GitHub.

Free download · no account