A macOS app that files older downloads into folders named for the day they arrived. Today's files stay loose in the root, under their real names, where you expect them. Write your own rules, or file by type for more structure. Find duplicates and forgotten folders, and take the space back. Nothing is ever deleted, nothing is ever overwritten. Set it up in the window, close it, and it keeps filing from the menu bar. Free, open source, no account, no telemetry.
I'm Elio, and I built Tideline because of something small that annoyed me every single day.
You download a build artifact from GitHub. Then you download it again, and the second one lands as "artifacts (1).zip". The third is "artifacts (3).zip", and the name no longer tells you anything. So you make a folder, drag the file in, rename it back to what it was meant to be, and only then start working. None of that takes long. It is just cumbersome, every time.
Tideline is that folder, made for you every day. Today's downloads stay loose in the root under their real names, where you expect them. Everything older is filed into a folder named for the day it arrived — 2026-09-02 — and when the day rolls over, yesterday's files move on their own. Not an empty Downloads folder. A clean one.
Around that: routing rules that claim a file by its name or the site it came from, so an invoice is filed as an invoice. Type folders, so every .dmg goes to Installers/ whatever day it arrived. And a pane for the space you could get back — duplicates, big files, dated folders you stopped needing.
Two rules hold everywhere, because nothing here should ever be a surprise.
Nothing is ever deleted: Removals go to the Trash, so a setting you regret is a drag back out, not a restore from a backup.
Nothing is ever overwritten: a name that is taken counts up. And Preview mode runs a sweep that touches nothing, then tells you exactly what it would have done.
It's native Swift with no dependencies at all: 3 MB to download. No Electron, no bundled runtime, no helper process quietly installed beside it. Free, open source (MIT), no account, no telemetry.
If it saves you the folder-dragging, I'd love to hear it, and if it gets something wrong, I'd rather hear that. Every reply here gets an answer today, and issues on GitHub are just as welcome.
There's a Windows build in beta too (same rules, rewritten in Rust). Worth saying plainly rather than letting anyone find out the hard way.
Front Matter
Hey Product Hunt 👋
I'm Elio, and I built Tideline because of something small that annoyed me every single day.
You download a build artifact from GitHub. Then you download it again, and the second one lands as "artifacts (1).zip". The third is "artifacts (3).zip", and the name no longer tells you anything. So you make a folder, drag the file in, rename it back to what it was meant to be, and only then start working. None of that takes long. It is just cumbersome, every time.
Tideline is that folder, made for you every day. Today's downloads stay loose in the root under their real names, where you expect them. Everything older is filed into a folder named for the day it arrived — 2026-09-02 — and when the day rolls over, yesterday's files move on their own. Not an empty Downloads folder. A clean one.
Around that: routing rules that claim a file by its name or the site it came from, so an invoice is filed as an invoice. Type folders, so every .dmg goes to Installers/ whatever day it arrived. And a pane for the space you could get back — duplicates, big files, dated folders you stopped needing.
Two rules hold everywhere, because nothing here should ever be a surprise.
Nothing is ever deleted: Removals go to the Trash, so a setting you regret is a drag back out, not a restore from a backup.
Nothing is ever overwritten: a name that is taken counts up. And Preview mode runs a sweep that touches nothing, then tells you exactly what it would have done.
It's native Swift with no dependencies at all: 3 MB to download. No Electron, no bundled runtime, no helper process quietly installed beside it. Free, open source (MIT), no account, no telemetry.
If it saves you the folder-dragging, I'd love to hear it, and if it gets something wrong, I'd rather hear that. Every reply here gets an answer today, and issues on GitHub are just as welcome.
There's a Windows build in beta too (same rules, rewritten in Rust). Worth saying plainly rather than letting anyone find out the hard way.
Thanks for taking a look 🙏