Hours, clients and follow-ups

Guide · 2026-08-29 · written against tagwerk 1.0 for Android

Freelance work is a stream of small things for a handful of people, and most of the administration around it exists to answer three questions: what did I do, for whom, and what still needs chasing. This guide answers all three out of the day notes themselves — and is explicit about the one thing tagwerk deliberately does not do, which is measure your time for you.

The day, with the client in the line

One file per day, and the client is a token in the line rather than a folder around it. That is the whole filing system:

Notes/2026/09/2026-09-17.md

09:00-10:30 Kick-off @riedl #meyer/portal
- [x] Portal: fix the login redirect #meyer/portal
- [x] Call about the invoice @riedl
- [>] Send the estimate @kern >2026-09-22
- [ ] Chase invoice 2026-114 ! #admin
#meyer/portal:2,5 #kern/site:1,25

@riedl is a person, #meyer a client, #meyer/portal a project inside that client. The last line is the day's hours, written as readings — the section below is about what that does and, just as importantly, what it does not.

Hours: you write them, tagwerk adds them up

There is no timer in tagwerk, no start button and no stop button. The format has no created-at, no completed-at and no durations on a task — that is written down as a non-goal in the specification, not as a gap waiting to be filled. What it has is a tag that carries a number:

#meyer/portal:2,5     two and a half hours on that project, that day
#kern/site:1.25       a point works as well as a comma

The statistics then add them up: the sum, the average, the minimum and maximum, the median, the standard deviation and the run over time. A month of day notes answers “how much did I do for Meyer in September” without a second system that has to be kept in step with this one — because there is no second system, only the days.

Both separators are accepted, and only one of them per reading: 2,5 and 2.5 are the same number, while 1.234,56 is deliberately not a number at all. A unit makes it a word too — #meyer:2,5h is counted, not averaged. Write the number bare and put the unit in the tag name.

Clients and the people in them

A tag is what the work is about; a contact is who it is with. Both are filters, and the filter has three states rather than two: one tap asks for a chip, a second rules it out (“everything except #admin”), a third clears it. What is asked for is an “or”; what is ruled out wins.

Holding a token in the note opens what is known about it: how many lines and days carry it, what became of the tasks among them — done, forwarded, dropped, still open — and, for a tag, what its readings add up to. That is the honest answer to “what actually happened with this client”, assembled from the days rather than maintained beside them.

Follow-ups

The estimate goes out on Tuesday and needs chasing on Friday. That is one line, written once, on the day it happened:

- [>] Send the estimate @kern >2026-09-22

The copy sits on the 22nd, the trail stays on the day it was sent, and nothing is due in between. Anything left open on a past day is overdue and stays visible — in the app and in the home-screen widget — until it is done, dropped or moved on. Priorities are ! and ~; a time in front of a task means “not before”, so the call you cannot make until the afternoon is out of the way in the morning.

One trap worth knowing

Nested tags are read two different ways in two different places, and that is deliberate rather than an oversight:

So if you want a client's whole work in one filtered list, write the client tag on the line as well as the project tag, or keep the tags flat and let the statistics do the grouping. Deciding that in the first week is cheaper than deciding it in the sixth month.

What is free and what is Pro

Writing the days, the whole syntax, today's tasks and everything overdue, the day view, full-text search, the revision history and the ZIP export are free. The parts this page is about — the task list across all days with its filters, and the statistics that turn readings into a sum — are tagwerk Pro: €12 / US$12 once, bought in the app, no subscription, and it covers every platform we ship. Without Pro the readings stay in your notes and stay searchable; the statistics dialog shows example data, clearly marked as such, so you can see the layout before you decide.

Something missing here, or something wrong? Write to please enable JavaScript to see the address, or open an issue in the tracker.

All guides · ← Back to the start page