diff --git a/base/.config/systemd/user/autocategorize b/base/.config/systemd/user/autocategorize
new file mode 100755
index 00000000..35c16f10
--- /dev/null
+++ b/base/.config/systemd/user/autocategorize
@@ -0,0 +1,40 @@
+#! /bin/sh
+
+set -e
+
+# Pull in user-dirs.dirs if it exists
+userdirs="${XDG_CONFIG_DIR:-$HOME/.config}"/user-dirs.dirs
+[ -f "$userdirs" ] && . "$userdirs"
+# Obtain download directory from there, otherwise use default
+downloaddir="${XDG_DOWNLOAD_DIR:-$HOME/Downloads}"
+documentsdir="${XDG_DOCUMENTS_DIR:-$HOME/Documents}"
+picturesdir="${XDG_PICTURES_DIR:-$HOME/Pictures}"
+
+# Sort out downloads
+[ -e "$downloaddir" ] && {
+	# Sort out epubs
+	if [ -d ~/Books ]; then
+		echo "Sorting out books..."
+		find "$downloaddir" \
+			-type f \
+			-iname "*.epub" -or \
+			-iname "*.mobi" \
+			-print \
+			-exec mv {} ~/Books \;
+	fi
+	# Remove anything that's wicked old
+	echo "Removing ancient downloads..."
+	find "$downloaddir" \
+		-mtime +180 \
+		-print -delete
+	# Remove anything kinda old but really big
+	echo "Removing large downloads..."
+	find "$downloaddir" \
+		-mtime +30 -size 10M \
+		-print -delete
+	# Remove zips, but at a lower tolerance
+	echo "Removing old zips..."
+	find "$downloaddir" \
+		-mtime +30 -type f -iname "*.zip" \
+		-print -delete
+}
diff --git a/base/.config/systemd/user/autocategorize.service b/base/.config/systemd/user/autocategorize.service
new file mode 100644
index 00000000..599b05ad
--- /dev/null
+++ b/base/.config/systemd/user/autocategorize.service
@@ -0,0 +1,9 @@
+# vim:ft=systemd:
+[Unit]
+Description=Autocategorize service
+
+[Service]
+ExecStart=%h/.config/systemd/user/autocategorize
+
+[Install]
+WantedBy=default.target
diff --git a/base/.config/systemd/user/autocategorize.timer b/base/.config/systemd/user/autocategorize.timer
new file mode 100644
index 00000000..8cf7c305
--- /dev/null
+++ b/base/.config/systemd/user/autocategorize.timer
@@ -0,0 +1,11 @@
+# vim:ft=systemd:
+[Unit]
+Description=Autocategorize timer
+
+[Timer]
+Persistent=true
+OnBootSec=15min
+OnCalendar=*-*-* 22:00:00
+
+[Install]
+WantedBy=default.target