How to build your taylor-made GTD™ Project Management App in Coda!

Source: Unsplash by Andreas Klassen

Discover how a regular guy with no coding background and experience was able to build an amazing GTD™Project Management system in

In this article I will give you just a complete tour to the Project Section on my GTD™ Mission Control Productivity System to let you discover how Coda, a very popular SaaS system created by Shishir Mehrotra, makes amazingly easy and customizable on your specific needs building up a full fledged project management system, even beyond your wildest dreams!

It used to work… (kinda), but don’t even think about touching the wires!

Looking back at myself only 2 years ago, when I barely knew what a SaaS software was and I was jumping unsatisfied or frustrated from a to-do app to another, I would see someone sadly unable to stick with a Project & Task management software / app for a decent amount of time.

Some of them were really excelling on a particular field, or had a remarkable appealing user interface, or if they were simple and easy to use, they will inevitably and sometimes miserably fall around the corner for their lack of power and ability to manage a more complex project with multiple people involved or that presented many superimposed timelines to track.

Not a single product, service or solution was up to my expectations and needs, unless I didn’t wanted to adopt a corporate solution that however I wasn’t able to afford or that simply won’t be offered to me as a singular user.

Source: Unsplash by Martijn Baudoin

So I found myself forced to go back and forth from to-dos capturing tools, organizing and scheduling tools, planning and time management tools, finally to upload as much as I can in project management systems that wasn’t so easily interlinked (if they were at all) that required a lot of interruptions in my workflow and that inevitably caused a doubling of the time needed to progress projects. It was exhausting!

If I could portrait my whole project management systems connected together at the time it would be something exactly like that picture: a total mayhem!

Just the maintenance of those different tools sucked up the life out of me! Are you familiar with that too?

If you really want something done, DO IT YOURSELF!

For anyone who really wants to implement the GTD™methodology in his entire life spectrum, how wonderful it would be staying in control of anything you are involved on, having the ability to zoom out from a single atomic next actions task to the entire whole picture of what’s got your attention and it’s going on in your life, whether it’s personal or professional related?

Source: Unsplash by Jimmy Chang

And isn’t it just what GTD™ promises by learning the power of stress-free productivity and experiencing the Mind Like Water™?

If you still don’t know what the GTD™ productivity methodology is and how you can effectively implementing it with Coda you can check my Medium article “Why Coda could change your GTD™game forever!” and find out more just clicking here.

Mind Like Water: A mental and emotional state in which your head is clear, able to create and respond freely, unencumbered with distractions and split focus.
— David Allen

If the market wasn’t offering what I needed, and even David Allen himself wasn’t really able to say a final word and point out the ultimate GTD™ software what should I do?

It was pointless in my 40's trying to become a software developer by myself, but then I remembered about James Dyson’s story and how he was so sucked of having poor vacuum cleaners with the need of disposable dust bags at the point he realized that his only option was to craft it’s own solution for the problem.

“It can be done!” — Gene Wilder in Frankestein Junior Movie picture

He went through dozens of tests and trials with just cardboard and duct taped units until he finally came up with a solution that changed the vacuum cleaner technology forever.

Well, I don’t pretend to be somewhere close to Dyson’s achievements, but his example certainly pushed me to think toward stop wasting time trying shiny new products and to start to craft my own solution. And with Coda it definitely can be done!

And now, if I tell you that finally it exists a way of crafting your own productivity tool that grow with you in complexity and features would you believe me?

Well, that’s exactly the point of this entire article!

My GTD™ Creature is growing in power every day!

Now I want to give you some demonstration on what it’s possible to realize and customize in a very easy way in Coda even if you never had written a single line of software code in your entire life! You can start with a very simple database in shape of a doc and learn how to expand it day after day adding features over features.

It just required me some basic knowledge of how relational databases works and some basic knowledge of Coda formulas syntax (If you are already using Microsoft Excel formulas you will be perfectly fine!)

And even if many times while experimenting I got stuck, I was almost immediately able to find the help in the Coda community and find some really useful examples or solutions that I was able to implement very quickly, taking pieces from several other public Coda docs, just like Dr. Frankenstein did with it’s creature, but without the collateral damage of creating a dangerous and uncontrollable monster!

This is a view of my Project Master Console view with the top console buttons divided in columns and the underlying filtered results with Parent projects and their dependencies exploded below on a table view.

I’m just a regular italian guy, and as Italian is my native language I will explain and translate to you in detail bits by bits what every function does and what’s represented on the screen.

First Button Console Column: Hierarchical Controls

Opens an extended form view to add a whole new project.

Collapse all child projects to their immediate upper Parent ones.

Collapse all parents and relative child projects to the main Root Projects.

Show all the Projects and sub projects expanded in a folder-like indented tree structure.

Second Button Console Column: Project Status Controls - Show Perspectives: Focus / Active / Ongoing / Programmed / Incubate / Completed

The first row of white buttons is meant to quickly toggle On / Off all the statuses of each specific Status Perspective button below.
The name on every button dynamically changes reflecting the On / Off status:

As you can see Incubate and Completed buttons are toggled off and all completed or incubate projects will be filtered out from the underneath full table view.

Every colored button reflects a different Perspective, and it can be singularly toggled On / Off to filter the specific one needed; for example if I want to weekly review the Incubate or the Programmed projects to see if they are ready to be started or I still need some time to think about them.
On the side of each button I receive an insight in the form of a green number that tells me how many project per Perspective I have in total for the selected work domain.

Third Button Console Column: Tasks Controls & Domain Filter

Here I have three different white buttons:

It has on it’s side the total of next actions of the filtered projects on the table view that must be done to move the needle forward for every project.
It dynamically changes based on what perspective button is toggled On / Off to better allocate my time after choosing the specific work domain and perspective.
It shows in the underneath table view all the active actions for every single project row filtered.

It hides all shown actions from the Action Column in the table view, whether they are to be done or already done, for every single project row.

It opens the GTD™ Mission Control section in the Coda doc dedicated to Capturing anything in the main Inbox (that I will show to you in a future article).

It’s the multi-select filter that it’s the primary filtering method to choose the domain I decide to work on in the moment ( Personal / Family / Professional).
Filtering in this way it dynamically counts the projects and actions related adding them to every specific button in the top console.

The Table Detail View Index

Under the top button console I finally have the filtered result of all of my projects in a table view form:

Every row it’s a single project, eventually nested under it’s parent project, with the subsequent indention to have a file folders-like structure, visually representing Roots, Parents and Child Projects.

I will now guide you through every single column, from the left to the right explaining the functions and the purpose of every field:

The first column it’s a simple grouping on the left for all the projects assigned to the selected work domain. If I have multiple selections on the Domain Main Filter, all related projects will be grouped accordingly sorted in alphabetical order.

The second column, represented with a round icon, it’s a quick indication that tells me at a glance if I am dealing with a Root or Parent project (blue right arrow) or if it’s not the case, showing me the overall project progress status:

A hidden progress status column inside the table runs a formula that checks how many tasks needs to be completed over the total number of the tasks assigned to the project (included the already completed ones):

It performs a % calculation dividing the overall progress by fourths:

- 0 to 25%
- 25 to 50%
- 50 to 75%
- more than 75%
- Completed

Adding new actions to this project or completing the ones that are needed, changes dynamically the icon to reflect the new overall progress.

I have also added a particular exclamation point icon that also conditionally formats the row background color to let me immediately notice if a project I have decided to work on hasn’t a next action assigned in case the project it’s still not completed.

Accordingly with the GTD™ methodology, every captured Todo that has more than one action needed to be done, it must be considered a Project.

With my Project List growing more and more every day that I use my new system, I have noticed that, even filtering with the domain grouping and adopting a nested folder-like indention, I wasn’t effective as I really wanted.

Having too much data on the backgroud, in some cases could result counter-productive:

While I’m reviewing a Project thinking about what a particular Parent or Child needs in terms of next actions to be completed, having all the other projects in plain sight, begging for my attention and suggesting actions and to-dos often distracted me and make me easily lose the momentum.

The solution I have implemented it’s the ( 💡 ) button that could toggle the Focus view On and Off, just like how a jockey does putting blinkers to let his horses stay on track.

So, when I toggle the button On, all other projects in the table, excluding their child (if they’re present), are filtered out of the view so I can add / review all the actions needed in sequence in less time and without distractions:

When I have done, pushing again the button will toggle the Focus view Off and reveal back all the projects exactly as they were before.

The next button, has three different possible interfaces:

The Project in the row is a Root or a Parent Project: clicking the button will open the immediately lower level, exactly how you would expect with a file folder management system. The number shows at a glance how many related Child project are nested below.

The Project in the row is a sub level of the Parent project above: every level you go down, the name of the project will be indented in a horizontal tree structure, with any branch becoming more granular and specific. This is very useful for Project Managers just like me, who needs to rapidly switch from the whole picture of a very big project to the contributions of every subsequent phase or any parallel Child that could proceed independently.

Clicking the button as suggested by the icon state, will close any Child project below going back to the Parent project above. Here too the green number counts the number of Child projects below.

The project in the row it’s the last level of the Root Project structure; it doesn’t have any Child project and the grayed out background means that the button is deactivated and it cannot be clicked. The only way to go back of one level is closing its upper Parent project.

As you have probably already understood, clicking one of the three main Hierarchical Button in the top console equals to click every book button in every single row. This was one of the most convenient solution I have implemented that I am using dozen of times every single day.

The picture above shows the name of the Projects with their root structure indentation. In the next column you have an icon representing the Project status Perspective: you can change it anytime choosing from the next column dropdown menu; if you change it to a Perspective that it’s not toggled On in the top button console, the project will be immediately filtered out of sight.

Look carefully at the Root project Articoli: Medium. You see only one child project, GTD: Mind-sweep in Coda, but the closed book icons tells you that this Root Project has instead 2 Child Projects; the Incubation pespective it’s toggled Off but I know that I have one next article I am planning to write in Medium.

I have already find out some next actions and the draft title, so I created it as a separate New Project, but I don’t want to see it until I am ready to change it’s status or to add some idea or reference material to that.

Yes… it’s true! You’re not dreaming! You can easily add files as attachments, links and any kind of notes or reference materials directly in any action of any project, and have everything linked and connected in one single place, but this is another story that you will discover soon in another article, where I will explain how Coda have replaced Evernote as my favorite repository and digital archiving solution.

The (+⇩) button it’s meant to rapidly add a new Child project: it acts exactly as the ( 👉🏻 Add New Project ) top button with some added features: a pop-up form that opens will inherit the relative work domain directly from it’s Parent project to save me time and clicks or scrolling through dropdown menus. It will also be directly nested under it’s Parent Project.

The next 4 buttons are used to manipulate the Actions Database Table that extracts via a LookUp formula the dependent actions in a column of the Project Database Table I am describing in this article:

This button shows on the All Actions column to the right every action still to be done associated to the Project. It dinamically changes it’s appearence like the ( 📘 ) button above: when it’s toggled on ( ▼ ) with a downward triangle the row height is expanded accordingly to the number of rows of actions shown as you can see in the example. When toggled off ( ► ) it will show the number of next actions and all actions are hidden from the sight.

This button shows in the same All Actions column every completed action in a form of a bulleted list besides the Next Actions: sometimes I need to be sure I have performed that crucial task and when, especially when delegating. It’s appearance changes exactly as the button described above.

The yellow ( + ✓ ) let me capture any new action directly inside the selected project, without going through the GTD™ funnel workflow built in another Coda GTD™Mission Control section: it pops up a detailed form view to quickly define any aspects of the action to be added. It will automatically inherit the work domain and the Project associated.

The purple ( 🧠 ) brain button opens a new tab in my browser opening the Mind Sweep document section in my Coda GTD™Mission Control: I will talk in detail about this in my next planned article on Medium “How to Perform a bullet-proof GTD™Capturing in Coda”. For now it will suffice to say that it’s a strategic tool that gives me more clarity on a project; it greatly helps me to find hidden next actions or the ones that could be have slipped through the cracks; It lets projects get unstuck in a very fast and convenient way while doing my daily / weekly / monthly project reviews.

All Actions Column:

In the picture below you can see in action what the Action Buttons of a project row are performing: you can also see an I.C.E. Matrix Score assigned to each project ranging from 0 to 120.

I.C.E. it’s an acronym that stands for Impact / Confidence / Ease. Every time I add a new project the form asks me a specific OKR and to assess these 3 parameters. How much Impact it will have, how Confident I feel having done something similar in the past, how Easy it will be to complete.

Every one of these 3 parameters is rated from 0 to 5, then they are multiplied in a matrix giving you a very good hint on what project will give the maximum contribution to a specific goal you have set.

Let’s now take a closer look at the details in the All Actions column:

In the 1st row I decide to show all the active actions clicking the first button. There are still no completed actions as the 3 dots button is disabled and grayed out. The shown actions are sorted first if they are a Next Action, than in a descending order by their due date on a numbered list.

The 2nd row has a different background color indicating that there’s something that requires my attention: it has not yet completed actions, nor Next Actions assigned and it’s definitely stuck. Also it’s a project with a pretty high I.C.E. Score so it will be better if I think about what should I do next adding some next action to it.

In the 3rd row, no actions are shown as the actions buttons are toggle Off, but I know with just a glance that I have 1 more action to perform and I have already completed 21 other steps.

The 4th row doesn’t present any ICE score even if it has actions: I need to fix that or decide if the project should go to Incubate or maybe just ruthlessly deleting it if it’s not relevant to me anymore.

In the 6th row Show Actions buttons are both toggled on: All Action column is now shown in a split view: on the left you can see the numbered list with the 2 actions I still have to do, on the right a bulleted list with the one I’ve already done.

Quick Action Update:

One of the most important benefit you have while working with relational databases is that every single piece of information it could be linked in a way that it’s really easy to change a value in some point and have that information instantly updated in any other table, row or column. That’s the reason why a Coda doc can literally grow and evolve at the same pace of your needs and your increasing mastery of the tool.

Here you can see that anytime I hoover with my mouse on a specific action, I am immediatly prompted with all the data points and commands of this particular action:

I can flag it as completed, delete it, repeat it, set it as a next action and so on.

By scrolling down with the mouse wheel I can directly interact with any other action field I want: change a due date, it’s project, it’s context etc. etc.

And you can do this without leaving for a second the Projects Database Table to change something into the Action Database Table. And if you want to see a detailed and well formatted view of the task you just click the 2 separating arrows ( ⤢ ) to have the modal view interface you have customized that pops up like in the picture below.

The setting up of a custom modal view of a table it’s an entire different matter I will write about in the future, but I wanted to give you just a little taste of what’s possible to do.

Thumbs up… or thumb down?

Being a proud italian guy, I really could’t end this long digression without a mention to an ancient custom reserved to the Caesars of the Roman Empire during gladiators games:

Emperor Commodus giving a thumb in Ridley Scott’s The Gladiator movie picture

As far as complex, modular and insanely granular a GTD™project management system could become, it shouldn’t slow you down when you need to act swiftly on a simple decision. Decision fatigue it’s a real thing!

Should I ever need to quickly complete or delete a Project, I really don’t want to decide anything more about that and all should proceed automatically in the background without the need of any other intervention or input down the road.

So If i click the ( ✔️ ) green button this is what it happens:

The Project status will be changed to Completed and all the text in the project row is formatted in courier font and strikethrough.

The date and time of completion will be added in a specific column: a Running Time column formula will calculate how long the project has been active and running and how many days before or after the due date it was completed. Those insights will be very useful in the future to improve my time estimates when adding similar projects.

Should I have forgotten to complete some active actions, every relative ( ✔️ ) complete button in the actions that aren’t already completed will be activated to perform their function.

The opposite will happen if I eventually decide to delete a Project by pushing the ( ) red button.

In this case as it could be a permanent decision (even if you can always have the last 30 days chronology of your docs to avoid any potential critical loss of data) an alert will be shown and I could rapidly undo the deletion. When I delete, all related actions could be automatically deleted too without the need to go through every single one. All the ( ) red buttons will be pushed instantly wiping out dozens of actions at a time. It really works like magic!

I think I have finally figured out my personal Ancient Roman thumb ups / thumbs down method of dealing with my Projects, isn’t it?

That’s all folks! …for the moment!

Leonardo Di Caprio celebrating in Martin Scorsese’s The Wolf of Wall Street Movie Picture

If you have come reading this far, congratulations and thank you! It really was a long ride we have made together and I really value your precious time; just trying to squeeze months of behind the curtains works in few words wasn’t an easy task for me. Please consider to leave a comment and click the applause button a couple of times if you enjoyed your reading. I really love inspiring readers to try new solutions and you are really encouraging me to foster my passion for writing about personal development and smart productivity strategies.

Share this article to anyone you think could be stuck in a productivity slump and follow my Medium Writer account so you won’t miss any of my future publications. Thank you, again, from the deep of my heart!

Ideas that sparks!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store