Two things changed in Timex 1.1.0. Neither makes a good screenshot.
First, the app speaks five languages now. English, Español, Русский, हिन्दी, ไทย. Every label, every chip, every tooltip, every break-card instruction, every error message.
Second, you can export everything Timex knows about your time — every session, every app event, every break, every glass of water — to a ZIP file with one click in Settings.
Those don't look like the same feature. They are.
Three emails in one week
The first email I got after 1.0 shipped was from a developer in Saint Petersburg apologizing for writing in English, because he wasn't sure I'd read Russian. (I do.) The second was from a freelancer in Madrid who asked, politely, whether his clients would ever be able to read the timesheet PDFs he sends them. Three of his five clients don't speak English.
The third was different. It was a one-liner: "Where's my data?" — from someone who'd been using Timex for nine days, decided it wasn't for him, and wanted to take those nine days of tracked activity somewhere else before deleting the app. He didn't want a CSV. He didn't want a report. He wanted the data.
Those two questions — what language is this in and where does my data live — sat next to each other in my inbox for a week before I noticed they were the same question.
They're both versions of: this is supposed to be mine, isn't it?
Version 1.0 was about whether Timex worked at all. Version 1.1 is about whether it works for you — in your language, with your data accessible on your terms, without needing to email me to make either of those things happen.
Five languages, in the app
Every string in the Today view, the menu-bar popover, the Settings window, the break overlay, and the license activation flow now renders in:
- English
- Español
- Русский
- हिन्दी
- ไทย
Dates render in your locale (May 17, 2026 vs. 17 мая 2026 г. vs. 17 พฤษภาคม 2569). Numbers honour your decimal separator. The language switcher is a row of pills in Settings — tap one and the whole app re-renders without a restart. The system default is what loads on first launch.
I'll be honest about what isn't in 1.1: RTL languages. The layout engine is RTL-aware; the translations aren't there yet. When we have an Arabic or Hebrew translation in good shape, we'll ship it. Until then we'd rather wait than ship a broken right-to-left first impression.
Two specific things that took longer than I expected:
- Pluralization in Russian is a three-form system (1 / 2–4 / 5+). "1 перерыв", "2 перерыва", "5 перерывов" each takes a different word ending. Naïvely using
{n} breakswith English-style pluralization makes the app sound like a robot to a native reader. We do it properly now. - Thai date formats default to the Buddhist calendar — year 2569 in Thai is year 2026 in Gregorian. The Today view shows whichever your system is set to.
Small things. Worth getting right.
Export everything as a ZIP
Open Settings → Export Database…. You get a ZIP file containing your full SQLite database, exactly as Timex sees it. Every tracked session, every app event, every break, every water log, every preference.
What isn't in the ZIP: nothing. There is no encrypted blob, no cloud handle, no "you have to be online to decode this." It's a SQLite file.
But the more important question is what do you do with it?
The honest answer for most people isn't "open it in sqlite3 from the terminal." That's the answer for me. The answer for most people is: drag the ZIP into one of our browser tools. All three run entirely in your browser — nothing leaves the tab, nothing hits a server, the file never leaves your machine.
- Timesheet PDF — drop the ZIP, pick a date range, get a client-ready PDF with billable hours per app and project. The freelancer in Madrid? This is what he was actually asking for.
- Wrapped — your year (or month, or week) in time, with the apps you lived in, the hours you held focus, and the days you didn't. Spotify-Wrapped, for where your attention went.
- SQLite viewer — drop the ZIP, browse every table, run your own SQL queries. For people who want the raw answer, not the rendered one.
Same export file, all three tools. The schema is the schema Timex itself runs on internally — there is no separate "export shape" that's secretly a subset.
If you'd rather skip the browser entirely, it's just a SQLite file:
unzip timex-export-2026-05-17.zip
sqlite3 timex.db
sqlite> SELECT app, SUM(duration_ms)/1000/60 AS minutes
...> FROM sessions WHERE date(started_at) = '2026-05-17'
...> GROUP BY app ORDER BY minutes DESC;
The reason this matters: it's the only honest answer to "what if I want to leave?" Most apps answer that question with "export to CSV, with these limitations, missing these fields." Timex answers it with "here is the whole file the app is running on. Here are tools that turn it into something useful. Here is the path out, if you want it. We hope you come back."
The unglamorous half: design system + accessibility
There's a third change in 1.1.0 you won't see in a screenshot. Every corner radius, border, hover state, and brand colour in the app now draws from one token set. Before 1.1, half the components were one-off CSS. The break overlay had a different button hover than Settings. The popover had a different chip shape than the Today view. It worked, but it told the truth about how the app was built — feature by feature, fast.
Same release: every icon-only button now has a VoiceOver label. The water +/- steppers, the date chevrons, the close button on the break overlay — previously announced to screen-reader users as just "button". Now they say what they do.
Neither of these changes what the app does. Both change what it feels like.
Why this isn't 2.0
A reasonable question: shouldn't shipping the app in five languages be a bigger version bump?
It would be, if the value of a release were proportional to its diff size. It isn't. The new languages are translations of strings that were always there. The export is a single button that uses code Timex has always run internally. Neither changed what the app does — they changed who can use it, and on whose terms.
That's a 1.1, not a 2.0. The version number tracks the shape of the app, not the size of the work.
What's next
Three things on deck:
- More languages, driven by what people email us about. German, French, Portuguese (Brazil), and Japanese are in the queue. The infrastructure is there; we just need translators we trust.
- Filtered export — grab the last 30 days, or one app's activity, instead of the whole database. Two people have asked already.
- Cloud-free sync between Macs, if I can figure out a way to do it that doesn't violate the "your data, your file" principle the rest of the app is built on. This is the hard one.
If you want any of those sooner, the email's in the footer.
If you're on 1.0, grab 1.1 from the download page. The upgrade preserves everything. If you're new, the trial is still 100 hours, no signup, no email collection — and now, in your language.
— DK