I lost my entire dev environment at 10pm. Here's how I recovered.
Last night I accidentally signed out of an Apple ID on my MacBook. In seconds, my Desktop vanished. My projects — gone. VSCode — gone. Everything I'd been building for the past weeks, disappeared into thin air. For a solo developer with no team, no backup system, and a live product to maintain — that's a nightmare scenario. Here's what actually happened. My Mac was configured to sync Desktop and Documents to iCloud Drive. I didn't set this up intentionally — it's a default macOS setting most people never notice. The moment I signed out of the Apple ID, iCloud unmounted and took everything with it. Worse — I'd been burning through my mobile data bundle for months without knowing why. Turns out iCloud was silently uploading every file I saved, every code change, every VSCode extension in the background. On mobile data in Ghana, that's not a minor inconvenience. That's real money. How I recovered: Step 1 — Stop the bleeding I cancelled the iCloud re-download immediately. 900MB over mobile data was not happening. Step 2 — Kill iCloud sync permanently System Settings → Apple ID → iCloud → iCloud Drive → Options → Uncheck "Desktop & Documents Folders" Step 3 — Move projects to a safe location mkdir ~/Projects mv ~/Desktop/edutrack ~/Projects/edutrack mv ~/Desktop/sas ~/Projects/sas A folder outside iCloud that exists regardless of what Apple ID is signed in or whether iCloud is active. Step 4 — Clone everything from GitHub cd ~/Projects git clone https://github.com/johnston-kweku/edutrack git clone https://github.com/johnston-kweku/sas Total downtime: under an hour. Step 5 — Reinstall dependencies cd edutrack python3.12 -m venv venv source venv/bin/activate pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ That last flag is specific to my situation — PyPI is blocked on my network in Ghana, so I use Alibaba's mirror. A problem worth its own post. The real lesson wasn't about iCloud though. It was about GitHub. Every project I had committed and pushed was recoverable in seconds. The only thing I actually lost was uncommitted work from that day's session. git add . git commit -m "wip: dashboard summary view" git push That's it. That one habit — committing and pushing before closing your laptop — is the difference between a minor inconvenience and a catastrophic loss. There's no commit message too small. wip, progress, end of day — all valid. The commit exists, that's what matters. If you're a developer storing projects in iCloud, Dropbox, or any sync folder — move them out today. Cloud sync is not version control. It doesn't track history. It doesn't protect you from signing out of an account. It just copies files around silently while eating your data bundle. GitHub is your source of truth. Everything else is convenience. And if you haven't committed today — close this tab and go do it now. devjourney #python #django #git
Comments
No comments yet. Start the discussion.