Organizing your life using Github
João Cerqueira Oct 30, 2017
I'm that kind of person that struggled really hard to self-educate to be organized. That had to change in favor of restoring my sanity back and one day the light bulb hover my head went on.
Everything was messy before: tasks and notes written in loose papers or random task management software, unanswered calls lost in promises to be returned, files and important documents spread along a zillion different cloud storage services. Resuming, everything was darker back then.
I've tried lots of software that promised to simplify the horror I was going through and actually help me getting things done and don't forget anything - but all of them failed. Most of the times it wasn't about the softwares themselves but simply because they didn't fit my way of doing things.
The tada moment
I was on the verge of collapse, navigating through some issues on a repository on Github when: tada! Suddenly everything was clear. I was already using an awesome software (Github) to manage my projects' code, issues and tasks that had to be done, why not adapt it to a new "project": My personal life!
How I did it
Basically what I did was to adapt the concept we (developers) already employ for project management and organization on Github to my personal life. So, instead of having a repository to store and keep track of my code, I'd instead use it to store and keep track of any important documents, pictures and other random files I can't loose.
It was pretty straight forward and showed advantages right away after setting up that new private repository which I named
personal. The most noticeable one was after I fed it with important documents I went to another laptop I own and cloned the repository. In ~5 seconds I had my documents "synced" on both machines, securely saved on a private Github repository and easily manageable on both Github interface and on my dear terminal with the infamous
This was the first step to start implementing a better organization for all-my-things, however one thing was still missing: I also had to keep track of both my personal and professional tasks (professional = freelancing/open source projects, not organization-specific ones).
To achieve that, I enabled the "Github Projects" feature on that repository and bootstrapped two projects: "Personal" and "Work" for personal (shopping, pay bills, etc.) and work-specific (call a client, reply an email, review a feature, etc.) tasks respectively.
Each project has 4 basic columns to put tasks on:
- Backlog - for stuff I probably haven't yet decided to do or thought about how I'd do them;
- To Do - stuff I have to do and are ready to be started or I'm waiting on third-party feedback to move along;
- In Progress - stuff I'm working on at the moment.
- Done - stuff I already finished and can be safely archived and sometimes forgot.
Tasks themselves are simple "cards" or full detailed issues (for more important/complex things that need extra information).
Now I had it all (files and tasks) in a single place that I love to work on! So much better! Sure I still sometimes write tasks and notes on paper or on my smartphone's notes application, however I made a commitment with myself to as soon as I open my laptop through the tasks/notes into the respective projects on Github right away.
Apart from those two base projects, one is also free to create more and more projects to make organization even clear and simpler. For example, imagine you're moving from a city to another, there are plenty of things you have to do and most of them are important to be done right to avoid headaches in the future. One could create a new "Move to X place" project and a correspondent milestone (on Issues Tracker) to keep track of that process and don't miss a thing.
I guess there are already people doing "self-management" in a similar fashion to what I'm now doing with Github, but as I haven't seen any experiences alike on the web I thought that it could be interesting to share this with others and maybe get some feedback on this "system" or suggestions to improve it.
Hope you've enjoyed! Don't forget that the way I'm organizing tasks, for example, is oriented for my personal use cases and surely doesn't fit everyone's needs. You can still adapt it to your own way of organizing things to make this system work better for yourself.
Thanks Github, for saving my day once more!