A small, practical toolset for Tech Support Engineers to organize daily work artifacts (files, screenshots, notes) into a consistent folder structure so you can find and recall everything later — even months afterward.
Beyond simply organizing files, this project is designed to help you stay focused during a shift and to save time on routine operations. The built-in Tasks template gives you a dedicated place for quick live notes so you don't lose context in high-distraction environments. The predictable folder and filename structure makes it fast to check the previous shift's turnover, prepare the outgoing turnover for the next shift, and locate screenshots or logs later — saving repeated effort and improving handovers.
I've used this script every day in my Technical Support work: first on a Windows laptop and later after switching to a macOS laptop. It worked reliably across both environments and consistently saved time on routine tasks while helping me keep focus during a shift.
This repository automates creating a daily workspace, keeps daily logs and backups, and provides simple monthly/yearly aggregation so historical data stays discoverable.
- Why this exists
- What it does
- Quick start
- Typical daily workflow
- Repository layout
- Configuration
- Searching and retrieval tips
- Archival and retention
- Troubleshooting & notes
- Contributing
As a Tech Support Engineer you collect many artifacts every day: screenshots, ISP reports, repair logs, and task notes. This project helps enforce a predictable folder and file layout so you can:
- Quickly create a daily workspace at shift start.
- Place and name files consistently.
- Aggregate older data into monthly/yearly archives.
- Find and reproduce the context of any workday even after months.
-
Creates a folder for the current day using a consistent template.
-
Populates the folder with starter files (notes, tasks list, backups list, etc.).
-
Runs aggregation routines to move completed/old items into month/year archives when needed.
-
Generated text files (Tasks, Backups, etc.) already contain default text templates when created to save you time; these templates are editable to match your project or workflow.
Core scripts:
main.py— orchestrates creation of today's folder and runs aggregation when needed.create_folder_files.py— contains the logic to build the daily template and files.aggregation.py— monthly/yearly aggregation logic.config.py— project configuration (paths, filename templates, initial file contents).
Requirements: Python 3.8+.
From the repository root, in a bash shell:
# run the main script to create today's folder and run aggregation checks
python main.pyThe script uses OS-aware path settings from config.py, so it works on Windows and Linux/macOS (when running from the appropriate Python interpreter).
- At the start of shift, run
python main.py. This createsdirectories/<YYYY-MM-DD>/and fills it with starter files. - Put screenshots, exports, and notes into that day's folder as you work.
- Use clear file names and the task/note files generated by the template to capture troubleshooting steps and outcomes.
- At the start of a new month/year the aggregation script will move or summarize older folders into
directories/archive/(seeaggregation.py).
Example created files you may see in a day folder:
Tasks_YYYY-MM-DD.txt— list of tasks for the day.Backups_YYYY-MM-DD.txt— records of backup actions that day.ISP_1_Maintenances_YYYY-MM-DD— per-ISP logs or exports.
Tasks_YYYY-MM-DD.txt is created with a default, three-section template to make shift handovers and day-to-day notes consistent and fast. The three sections are present in the file when it's generated and can be changed by editing the template in config.py.
-
Previous shift / Incoming
-
Use this first section to copy the turnover from the previous shift: pending items, important context, and things that must not be forgotten. Starting your shift with this visible makes it less likely to miss outstanding tasks.
-
In practice I often copy the turnover posted in a Slack thread into this first section so nothing from the previous shift is lost — having that text directly in the day's file prevents missed handover items.
-
-
Current work / Notes
- The middle section is for live notes about your current tasks and jobs: short bullets with timestamps, ticket numbers, quick commands or diagnostics, and key decisions. This is the most useful section in high-distraction environments — jotting quick notes helps you resume work after interruptions and provides a clear audit trail of what you did and why.
-
Next shift / Outgoing
- The final section is a running handover you can fill during the day. By keeping this updated as you go, you save time at the end of the shift and make the next shift's start smoother.
Tips: keep entries brief, include ticket IDs and short timestamps, and use plain text so the files remain easy to grep and archive.
Quick marking conventions (optional)
You can make the Tasks file even more useful by using a few simple status markers at the start of each line and leveraging your editor's highlighting features:
+— done (e.g. + Fixed ticket TKT-123) — mark visually green in your editor.-— to do (e.g. - Investigate ISP outage) — mark visually orange/red.?— needs follow-up / in progress / question (e.g. ? Waiting for vendor response) — mark visually blue.
These are plain-text marks so they stay readable across editors and systems. In Sublime Text you can use syntax highlighting snippets or search/selection to color lines. In VS Code, extensions such as "Better Comments" (and other comment-highlighting extensions) let you color-code lines and annotations (green/red/blue/orange) for quick scanning. Use whichever marks and colors feel natural for your workflow.
High level:
.
├─ create_folder_files.py # template & daily folder creation
├─ aggregation.py # monthly/yearly aggregation logic
├─ config.py # path templates and file content templates
├─ main.py # runner script
├─ directories/ # generated daily folders and archives
└─ README.md
Look in directories/ for existing dated folders (e.g. 10-01-2026/ in this repo snapshot).
Edit config.py to change:
- Path style for different OSes (
os_pathmapping used bymain.py). - Template file contents and default filenames (
files_contentused bycreate_folder_files).
Note: the templates stored in files_content are written into the generated text files when a new day folder is created — edit them to tailor headings, sections, or default text to your team's needs.
If you rename the top-level directories folder, update main.py and config.py accordingly.
- Use the date prefix in filenames and folder names to quickly filter by day or range.
- Grep or your OS search tool on
directories/for keywords found in daily notes or task files. - Keep log-like files (Tasks, Backups) as plain text for simple searching and long-term readability.
Example: search for a ticket number across the archive (bash):
grep -R "TICKET-12345" directories/ || trueAggregation moves older folders into directories/archive/ organized by year/month. This keeps the active directories/ area small while keeping older days discoverable.
Decide a retention policy that matches your organizational needs (e.g., keep 1 year online, archive everything older). The aggregation code is intentionally simple; feel free to extend it to compress archives, upload offsite, or rotate.
- If
main.pyfails with a path-related error, checkconfig.pyfor correctos_pathvalues for your OS. - The code uses plain filesystem operations; make sure the user running the script has write permissions in the repository folder.
This is a personal pet project; feel free to adapt it for your workflow. Suggested small improvements:
- Add a configuration option for automatic zipping of monthly archives.
- Add a CLI flag for a dry-run mode (show what would be created/aggregated).
- Add unit tests for aggregation edge cases.
If you'd like, open an issue or a PR with improvements.
This project is unlicensed by default — treat it as a personal utility. If you want to share it publicly, consider adding an appropriate license (MIT, Apache-2.0, etc.).
This tool is intentionally lightweight: structured folders plus readable text files make it easy to search and recall what happened on any given day. If you want, I can also add a short example of config.py values or add a small CLI wrapper for customizing folder names.