15 min read

Making docs that scale with your team

Build docs that grow as your team grows.

Blueprint for a scalable doc.

Your Coda doc is the home for all your team’s needs. Think of this guide as a blueprint that will teach you how to build a doc that scales, so that it always feels like home, no matter how much your team or data grows.

What’s in here.

What you’ll learn in this guide :
  • How to build a scalable that doc grows with your team.
  • An overview of how data looks and works in Coda.
buttons
Features you’ll use in this guide:
  • Callouts
  • Tables
  • Views

Getting started.

Now that you know what you’ll learn in this guide, let’s grab our tools and get into it. Create a new doc by either clicking the new doc button from your Coda workspace home “coda.io/docs” or by typing coda.new in your browser.

1. Structuring your doc.

Just like there are tons of different house styles (a-frame, colonial, ranch, etc), there are many different ways to set up your doc. No matter the style of your build, you need a good foundation. Here are some tips.

Start by answering these questions:

  1. Who is the audience you are building for (your team, cross functional, or leadership)? You’ll use this to make sure that you have a view for everyone.
  2. What key information are you trying to share? You’ll use this to make sure your tables have all the right columns of data.
  3. How will your audience use this doc? This will guide your doc structure. You can make this doc anything you want, but here are some common ideas to get you started:
    1. Is this doc a write up? Will you use it primarily to deliver information and help drive decision making?
    2. Is this a team hub? How much editing will others need to do?
    3. Is this a project tracker? Who’s doing the tracking? Are there sections of the doc that need to be locked to prevent accidental editing?
Organize your doc with a front-end section and a back-end section. On top of a foundation, a well built home has solid framing to keep the thing standing. Since you’re building a doc and not a home, your framework will be the front-end (the area that you interact with) and back-end (the behind-the-scenes area the makes the doc work).

Start with tables for all your data.

Tables are the structure of your docs. They are the scaffolding, the frame holding everything up.The easiest way to create a table is by typing /table anywhere on a page. For this guide, we are going to assume you have your table basics down, so we are going to use the tasks template. If you need a refresher check out this Coda Essentials video on tables. For now, type "/tasks", anywhere on your page, select the tasks template, and watch the magic happen. Learn more about Coda’s templates here.



Set up the back-end.

Now that you have your tasks table ready to use, let’s rename our page to make it clear this is the back-end. You can name it whatever you want but here are some ideas:
  • Back-end page: A straight forward option.
  • DO NOT EDIT: Clear and aggressive for those of us tired of accidental edits.
  • Behind the scenes: Adds a little whimsy to your doc.
The back-end houses your “base” tables (like the tasks table you just created) which you can manipulate in other areas in your doc using views. With views in Coda, you (and your team) can see your data exactly how you want, exactly where you want, and everything updates in real time. When you update data in one of the front-end views, it will also be updated in your base table on your back-end, and vice versa.

Now to the front-end.

Views live primarily in the front-end (where your team works on a day-to-day basis) and are essential to the scalability of your doc in many ways:
  1. All your data is interconnected, so you don’t have to spend time updating it all over the place.
  2. This interconnected data also means one table with multiple views performs better than a bunch of separate tables.
The front-end is where you team is going to interact with your data, in this case tasks. You will use views of the tasks table from your back-end page to create a curated display for your team. Views can filter the main back-end table down to a subset of rows and columns, but they house the same data, so you keep your single source of truth.
  1. Create a new page by clicking the new page option on the sidebar on the left of your screen.
  2. This will be your team’s main page, so name it something that lets people know what this doc is all about.
  3. Drag your page to the top of your page list (above your back-end page).
The next step is to put a view of your tasks table on your team’s main page.
  1. Type "/table" and select Table, then Tasks 2. You’ve created a view.
  2. Add a few rows to the View of Tasks 2 and make yourself the Assignee.
  3. Change the Status to in progress, and set some due dates to be past due.

If you return to your back-end page, you will see the new rows (and all the other changes you made) there as well. If you make any adjustments to either table, both will reflect the changes. Change an assignee or due date on your back-end table and it will match your view on the home page.
Lastly, really increase the scalability, let’s add a filter bar to your table on your team’s page.
  1. Head back to your team’s main page.
  2. Click on the filter menu at the top of your View of Tasks 2 table.
  3. In the side menu that opens on the right of your screen, select Enable filter bar.
  4. Use the filter bar to filter out all tasks that are due before today.

Tip: The filter bar is user specific, so any filter applies only to you. You don’t have to worry about messing up the view for anyone else!

2. Create the views your team needs.

Views allow each of your teammates to ‘see’ data in the way they prefer. You can create connected views based off of any column of data in your table. You can create a view for a specific person, a team (if you have a team column), or anything else. Like you explored in the previous section, updating data in one view updates it all views making it easy for your team to stay in sync.
  1. Create a new page and title it My tasks.
  2. Add a view of the tasks table (”/table” and select tasks). Name this table “My tasks.”
  3. Click on the filter option to the top right of your new view.
  4. In the side menu that opens to the right of the screen:
    1. Click + Add filter.
    2. Choose assignee.
    3. Select current user.
Now whoever is viewing this page will see only the tasks assigned to them. Adjust some values in your filtered view. Again, these updates automatically happen in your back-end view.

You can also hide certain columns in one view if you don’t want them. Maybe for the view of current user it is no longer important to see the Assignee. This can help create streamlined views of data to make your doc easy to consume. In a view, right click the top of a column and then click hide. That data is still in your doc, just hidden from that specific view.
Maybe you love everything about a table, but you only want to see information relevant to you. That’s when the filter bar (covered in the previous step) is really useful. Plus it can help your doc stay performant, too!

3. Bringing it all together.

If you team feels at home, they are more likely to use your doc. They need to know how to switch on the lights, where the good snacks are. Add some buttons to make it abundantly clear how interact with the doc. Above your view, create a button to add a row to the view of tasks table.
  1. Type "/button" in the page.
  2. Label it “Add task” and choose the add row action.
  3. Select My tasks as the table to add a row to. Then, toggle on Open row for editing.
  4. Add another task to your table.


In a home, a welcome mat is the first thing people see, but it doesn’t make much since to get one until the home is (at least most of the way) built. Now that you have your doc construction nearing completion, you want a warm welcome for each page. So, give clear direction on the steps a user should take to interact and be successful. Written instructions (you can make them collapsible) on each page after your welcome page will ensure everyone is aware how the doc works.
  1. Add a welcome message by simply typing in the canvas.
  2. Format your text. You can add headings (by typing "/H1"), highlight your text different colors, or add emojis to get your audiences attention.
Another way to add a welcome message is with a callout. This will give you a “text box” of sorts with a colored background that makes your message pop. It also makes extra clear for new (or forgetful 🤔) teammates what they can expect on this page.
  1. If you’ve already typed something you can click the hamburger menu next to the text and change it to a callout, or you can start with a callout by typing "/callout" anywhere on your page.


You can also welcome your team and explain your doc with an embedded video This is a favorite of a the Coda team.
  1. Film your video and upload it to the streaming platform of your choice.
  2. Type "/embed" and choose embed.
  3. Paste in the link to your video.


That’s it! Your doc has the foundation it needs to be scalable. With views and the filter bar, your data is easily accessible in the way you need while not bogging down your doc. With clear instructions throughout the doc, buttons to interact with, and user specific views, your team won’t lose time onboarding to another tool. They feel right at home, whether they’ve been her for two years or tow weeks.

What's next?

Using the Coda skills from this guide, there is no limit to what you can do.
Try bringing a standing meeting or project into Coda and see how you can keep everyone on the same page (pun intended) without the constant pinging and searching through your docs, emails and slack messages.

Was this helpful?

YesNo