The core features were technically “done,” but the UX was rough enough to scare off any paying customer. I spent the day smoothing out those edges. I need this thing to be solid, not just functional.
Here’s what I tackled today:
- Fixed macOS Volume Detection: The disk space calculation was off. It’s a minor detail, but if a user sees wrong numbers, they lose trust. I swapped out the API calls for something more reliable.
- App Lifecycle & Menu Bar: Refined how it behaves when you close the window. It now minimizes to the system tray (menu bar) and hides from the Dock. Standard behavior for background utilities. Personally, I hate a cluttered menu bar, so I might add an option to hide it completely later. But for now, visibility is safer.
- Log Hygiene: Separated “Sync Task” logs (file operations) from “Activity” logs (system events). When—not if—something breaks in production, I need clear logs to diagnose it quickly without wading through noise.
- Tests & Documentation Cleanup: Big changes bring regression risks, so I beefed up the Rust and frontend tests. Also did some spring cleaning on my Architecture Decision Records (ADRs). I trashed the outdated phase documents. If it’s not a relevant decision, it’s just distraction.
Using AI for this workflow has been a lesson in itself. It’s not magic; it’s a constant process of refining tiny details to keep the AI on track.
I’m getting close. It’s almost at the stage where I wouldn’t be embarrassed to let a stranger install it.
One thing keeps bothering me though: the “Delete in Source = Delete in Target” option. It feels too dangerous for a background process. I’m thinking of changing it to a concise “Trash” or “Confirm” model. One accidental data wipe could kill this project before it starts.
Next up: Auto-updates and bug reporting. The boring, unsexy plumbing that makes a product viable.
Note: I’m a solo developer based in Korea. To share my journey with a wider audience, I used AI to help translate my thoughts into English. If any phrasing feels a bit “too AI” or unnatural, please bear with me.