SyncMate – Project Overview
Inspiration
I wanted to create a project that bridges systems programming and AI, while remaining practical and understandable. SyncMate reflects my interest in building tools that automate repetitive tasks and make everyday computing simpler.
What It Does
SyncMate is a Python-based application that keeps two folders perfectly in sync like a mini Dropbox.
It continuously monitors file changes using MD5 hashing, detects updates or new files, and synchronizes them automatically.
This project demonstrates key concepts in systems programming, file I/O, automation, and AI-based insights, wrapped in a clean Tkinter GUI for an interactive experience.
How We Built It
For this project, I used a pre-prepared file synchronization template (SyncMate.py) to quickly build a reliable backend.
During HackPSU, I extended it by adding:
- A Tkinter GUI
- AI-powered log summarization
- Real-time file monitoring
- Detailed logging
Challenges We Ran Into
Initially, the Tkinter window froze or turned white whenever syncing began.
We discovered this was due to running long file operations on the main thread.
After researching and getting help online (including from ChatGPT), we fixed it by using background threads and safe GUI updates.Real-time logging caused the
ScrolledTextwidget to sometimes crash and fail to refresh due to concurrent writes. We solved this by adding thread-safe log updates and periodic refreshes.AI integration issues arose when connecting the log summarizer model loading caused delays and freezes. We optimized when summaries were generated and added better error handling.
Accomplishments That We’re Proud Of
- Built a real-time file synchronization tool with logging and error handling
- Developed a Tkinter GUI for easy folder selection and live updates
- Integrated an AI-powered log summarizer for concise file change reporting
- Completed a multi-component project (systems + AI) entirely during HackPSU
What We Learned
- Practical experience with file I/O, hashing, and multi-threading
- How to build a responsive GUI without freezing during long tasks
- Techniques for integrating AI models into systems projects
Additional Information & Citations
Project Ownership
- The project’s main logic (file synchronization, GUI, and AI summarization) was written by our team during HackPSU Fall 2025.
- We used ChatGPT to clarify errors, improve Tkinter design, and optimize AI log summarization all implementations were written, tested, and finalized by us.
Resources & Citations
We used general references for debugging and structure:
- Python
tkinterdocumentation - Python
hashlibdocumentation - Python
shutilmodule documentation - Sentence Transformers library for AI summarization
Consulted: OpenAI ChatGPT for debugging guidance, GUI troubleshooting, and best practices (all implementations were finalized and tested by our team).
Open Source Packages Used
hashlib– for file hashingshutil– for file copy/synctkinter– for GUIsentence-transformers– for AI summarization
What's Next for SyncMate
- Add Google Drive or AWS S3 integration for cloud sync
- Implement file versioning and recovery options
- Add user authentication for multi-device syncing
Built With
- hashlib
- os
- python
- sentencetransformers
- shutil
- threading
- tkinter
Log in or sign up for Devpost to join the conversation.