Multi-level (but simple) project management for a small business

Hey all,
I’m dipping my toes into coda having been running a small business using notion (5 staff + freelancers) for a while. I’m spending a bit of time getting to know coda - I’m 90% sure it can do everything we’ve been doing on notion (great) but I’m specifically looking to implement some new fairly simple project management features for a long term project we have starting in a month or so time.

We have traditionally had fairly simple projects. They last weeks - and generally have been assigned to a single person to work on. We have a single giant project database - giving us project number and details of the project. Things like if its a pitch, lead, won, budget, start and end dates, and a basic brief. Nothing usually takes staff more than 8 or so hours of actual time / effort, and the actual “job” pipeline is straight forward. People can pick up someone elses project just by looking on the server at project files.

However, we have accepted a new much longer term project, and I’m struggling to figure out the best way to create a system in coda to help us manage it.

I’ll try explain how its setup in really broad terms, as well as expressing the types of things we’d like the project management to help with.

  • This new project for one is going to run about 9 months.
  • It is made up of 26 identical sub-projects. Indeed, it may well expand beyond these 26 in the future, but 26 are confirmed. That they are identical should help with the data-setup :).
  • Each sub-project has a pipeline that will take 3 to 4 weeks. Each pipe-line is around 20 to 25 steps in length. I’m trying to simplify this right now :).
  • Each sub-project will have at least 2 staff working on it, and possibly more. The same staff will mostly handle the same tasks of the sub-projects, but not always. [So we’ll want to autofill people for tasks but be able to easily change who is on what]
  • Each sub-project can start / finish on different dates. Each sub-project will have 3 (or possibly 4) milestones which will need to be set out in a calendar.
  • Some of the tasks are very simple - and can take just 5 to 10 mins. Others can be 8 hours + of work.

We’d really like to track hours on the different tasks associated with sub-projects. We will estimate the time for each step, and then track the real time used. Not sure if I can achieve that easily in coda or if we will need a third party timer involved. We use harvest in the past, and can see a way to do that. It might be that we develop some sort of syncing of data! Unless others have successfully setup task timers in coda? Oh how I’d love infinite time to dive into some of these rabbit holes :slight_smile:

We will need some sort of overall view which shows the entire project on a gnatt chart or calendar, with each milestone showing up as either coming up, late, delivered etc. I get the feeling some sort of gnatt chart with clever colouring might do this in a really simple way. (Perhaps having the intended timeline shown, as well as an actual timeline shown.)

Each sub project will have around 25 tasks. Being able to dig down into a sub-project and easily see where the project is up to is extremely important. Possibly even by clicking through from the gnatt chart / calendar. We will have a manager who will be all over the project, but she will only be working 3 days a week on it. So other staff will also need to be able to see. Its also possible the overall status of the whole project (so status of where each sub-project is up to) will need to be sharable in read-only form to our clients.

Now - onto how to do this.

On one level, I could see a single database being possible but probably not that useful.
Lines being sub projects, and each task of the pipeline being a column. Indeed, you’d need multiple extra columns to hold projected and actual times, as well as key pipeline dates. And columns for attaching people to the tasks. All possible, but I can imagine this table will get HUGE and potentially unwieldily.

However - that approach could also mean that we don’t overcomplicate things, which I’ve seen happen many-a-time.

So what other possible way of doing this have we got? This is where I need to dive more into coda to see whats possible.

I guess I’m after a 3 dimensional approach of data - at least in my head. Especially given all the sub-projects are identical.

Do I just make a project page for each of the sub-projects. That would make the database design easy enough, but how would one represent all that data in a single place? Some quick messing around / reading docs here seems to say that it would be possible… I’m just not certain I’ve searched for the right words yet as I’ve not seen anything which has made me go “YES! Thats it - thats the way I need to approach this!”.

Or do I make a single large task database which is referenced to a staff database which is also ref’d to a project database?

I’d really love to hear how others here would approach this. I understand its all pretty newbie, but I’m also sure there’s others with far more knowledge who will know the best practice in setting something like this up.

Many thanks for any ideas.

1 Like

That’s a lot of criteria, but I think Coda can handle it just fine. One of the biggest benefits of using Coda is Views of tables. Each person can have their own section with views filtered down to what’s assigned to them.

Another strength of Coda is that it’s incredibly customizable. My suggestion is to click around on some templates and try out some docs to see what workflows you’re looking for, then create your own setup.

Here are a few that might help get you started…

John’s CRM Template - From leads on up!

Clocking in a Timesheet - This shows at least one way of tracking time in Coda. You could create a column that assigns a project to the time you’re tracking pretty easily.

Project and Meeting Management - This is a doc I put together to track meetings, tasks, and notes for a project and uses the detail view so you can see all the info for each project easily.

A lot of getting started is just loading some data into a doc and moving it around to see what you come up with.


Thanks @BenLee. Makes a lot of sense.

I guess I didn’t hilite what I figure is the biggest issue that I really don’t know how to approach the database schema.

We essentially have 26 projects that all need to be visualised at once. In my head I approach it as a database of databases… but all projects are the same template / workflow.

I see how it might be possible to do it with grouping, but I’m not sure how one would easily set it up. I’ll try put together some small tables to better demonstrate - but here’s kinda what I mean.


Project 1 has 25 steps. Project 2 has the same 25 steps. Project 3 has the same 25 stems.
Each of these steps is a task assigned to someone do to. Each step has a timer associated (although this I’m less worried about as I think I’ll just use Harvest. Their schema is setup exactly for this kind of thing and I’m sure I can integrate the data easy enough!)
Each project has 3 key milestones. These all need to be displayed on a single calendar / Gnatt chart.

I’m not sure if a single large database is the way to do this - as there will be a tonne of duplication involved. However, perhaps that is what would be recommended?


Hi there,

That’s exactly the kind of projects that Coda is good for. Since I have tried all these in one big document and some smaller documents, all you listed is quite possible and not that hard to setup.

Time-tracking would be a bit cumbersome. You can have buttons for start and end a session. Every user can track their time per tasks. However, it’s not like those automatic time-tracking tools which also have reminders for inactivity, etc. Also, you can’t have the buttons conveniently sit on the side of the screen and take very little desktop space. Some improvement is to create a desktop shortcut from Chrome which leads to a section with minimalistic view with 2-3 buttons; not ideal still.

My suggestion would be that you have

One master table

This table would hold the main information with many columns.

Separate tables for every drop-down or repeated selection

For every column with drop-down and repeated selections, I would go with separate small table. The reason is that you can easily maintain your database and later create filters of what is to be used/visualised from these increasing in size tables. I personally want to see only what’s really necessary.

Views in section

From the master table I would create views with filters and drop-downs which would help you view info for every project, person, period, etc. Create this once and then copy-paste and simple filtering would be enough to create as many sections as you need to view whatever data you want.

Analytics with charts

From this master table and some filtering you can create also very neat analytics using the charts which is super helpful overview.

The only downside here is that I personally have been needing badly the option to be able to update the data from the charts (not only from the tables to the charts). This visual update of data is super helpful but not supported by Coda (I really hope that this will change).

Template section

For the identical projects you can create a separate table to use as a template. With a click of a button copy this table/add rows in the master table and have your template set for a new project.

Separate doc for client access

For the client view, I would suggest using the Coda Pack to create a separate doc with limited views, restrictions and very clean view and easy to use buttons. Some charts for analytics and quick overview/dashboard is also maybe a good idea.

Separate doc for subcontractors

If you have sub-contractors - use the same approach to keep the GDPR and other legal requirements. Not perfect if you ask lawyers but let’s see what Coda will do about the restrictions as that’s massively important for business. (we all know that whatever is online is not safe but still some illusion of security is demanded on business level).

If you have lots of clients or subcontractors I would create a section which would be a template and with a click of a button create new doc for every sub-contractor or client with template data already in. What they see would be filtered out by their user login.

Time-tracking section
Everyone could log their time easily and by using their credentials Coda would differentiate when and who logged how much time. As mentioned above, my teams did not find it super convenient and opted out for the version which we used a year ago, but Coda is more capable now and you could probably achieve something more user-friendly. I personally am not aware of a way to create a link between Coda doc and desktop app, although I have been thinking about trying few things.

After working with over 60 CMS, TMS, ERP, … and being project/product manager myself for over 14 years, I have realised that having the chance to create a platform which suits your needs and is easy to upgrade and update is crucial for a success of a project. Not restricting a project to the limitations of a platform is a massive benefit and step closer to success.

So, if the investment is worth, go ahead with Coda and get exactly what you need for your purposes. I expect about 100h development and testing if you personally do it and probably about 50h for some experienced Coda users (considering the briefing, testing on mobile and some minor upgrades for Alfa and Beta release). You have to know that using another person means that you would have a little bit more limited control over the calculations and some updates might require the involvement of the original developer, but from my experience for most upgrades you could handle them yourself easily.

I would suggest reaching out to the Coda Marketplace and see who can help you there. I personally would love to but we are hard with deadlines due to managing my own translation and localisation business and me and the testers can start such a project only early next year.

We could have a chat/call if you feel that I could further contribute.

PS: There are probably far better experts in database scheme in this community. I just shared my experience after investing over 250 hours in Coda.


Great reply @Stefan_Stoyanov!

@Brendan_Woithe, the templates I linked to, especially the Project Management one, are all just tables. You can create views of those and display them however you need to. Saying you need to visualize all data at once might be tough if you have 26 projects and 25 tasks each, that’s 650 rows to view at the same time. With that in mind, I’m guessing views will be very beneficial so you can filter down to only the info you need to see at any given moment.

Definitely take some time to play with Coda and see what it can do.

1 Like

Thanks all.
This is one of those times where there’s multiple bits and pieces to solve and every time I change one thing, I get drawn into a rabbit hole of options.

I may have bitten off more than I can chew, but I have managed to pull off similar design ideas in Podio four or five years ago… I guess I just need to get my head around a few of coda’s strengths and weaknesses in order to best plan this out. But I’m really enjoying learning coda through this project!

Given the awesome responses here (thanks!() . I had a go at creating one single massive database, and then creating smaller tables for dropdowns.

This might work, but I had massive problems trying to put that data into a gnatt chart / calendar. I was only able to get one piece of info in each cal - and I need seven or eight per row of data placed into the calendar. Maybe i wasn’t approaching that correctly?

So I’ve restructured - and come up with the following. I’ve copied the app. I’m mainly concentrating on the first page - Episode Milestones. Charts are not working at the moment.

Essentially I’ve got one master database, but I have less information on a row. Instead, I have each row being one task (rather than one episode) and just have a pull down menu for which ep it refers to. It means it needs careful setup - as if I change the pipeline, it could end up a nightmare updating the database.

There’s a second table with the pipeline planned out, along with some extra data on how long its anticipated each task will take.

Finally, two other small tables - one with the episode code and name, and one with the “type” of data is being stored in a row (just to help sort things later!)

This will store all the information I need it to. However, I’m not sure its the most efficient way - nor the easiest way to later extract data on where the project is up to. We will need to be able to have both macro views of the entire 26 episode project, as well as some sort of visualisation showing where each of the projects are up to, and fine details of each episode (so able to drill down to see exactly where ep 3 is up to.

I’d love to hear comments about this structure, and how I might go about approaching the visualisation of the data - or if I’ve potentially gone about things in a way that might not be the easiest to use in coda.


Hey Ben! I’ve only been on the forum for two days, but I’ve already seen so many awesome posts from you!

Regarding the time tracking - it’s great, but one issue I’m finding is that it can’t be stopped and then started again - use case/example:

If my designer starts work on a task, then needs to stop, then starts again, I want to have that all in one timer, so that he can just hit start or stop when he starts and stops, rather than each time he hits the button it creates a subsequent row with the data.

Is there a way to achieve this?


Hi @Ben_Swanson,

Thanks for the compliment! And glad you’re finding the community to be a great resource.

There are a couple of other timer options out there. Here’s another one that I posted that built off of one that @Paul_Danyliuk created.

This might be more of what you’re looking for.

Hi Ben,

I created one long time ago when I was still learning Coda and the design could be better but play around with this time-tracker:

I hope it is useful.

EDIT: There is a hidden section where you will find some of the tables with “backend” data. They are not necessary for the actual use.

Ah wow, thank you both @BenLee @Stefan_Stoyanov, these both look great!! Exploring them both now to implement, really appreciate the replies!

1 Like