Skip to content
🌐 The Schema
This doc was built starting with the One Big Table schema, but it ended up using a Web to load information into the One Big Table.
The One Big Table is housed on the page .
Not all the columns are viewable on the full schedule, but nearly every other table is a view of this table or draws information from the table.
The big problem to solve was that the coaches needed to input their schedules as simply as possible (because we’re often dealing with non-tech savvy septuagenarians).
The secondary problem was that students needed to be able to see the schedule and choose a class, without being able to select something that’s already been “booked”.
Both of these are solved by having One Big Table and a LOT of buttons!!!

📊 The Database
The main database is the . This database powers the entire document. There are 17 columns in this table. Here’s a breakdown of how the columns work:
The 🧑‍🏫 coaches come from and are pulled via lookup column.
When I use this doc, I will edit the Available Coaches to a People table and use User() functions to filter the .
Currently, the coaches (and students) were fondly made using names of other Coda Doctorate students. 🥰
The 🧑‍🎓 students come from and are pulled via lookup column.
When I use this doc, the Students Registered will be a Cross-Doc from my Student Roster in another Coda Doc.
The date/time and class type are filled in via a button on the . This button uses a layout of the table to only show the columns that the coach needs to input their schedule.
The booked button is pressed by a button, which is hidden from this view.
▶️ The Interaction Layer
🔘 Buttons: I used a lot of buttons in this doc to give a more app like experience. Most of the buttons push other buttons here. For example, the “Book this class” button marks a checkmark labeling the class as booked, adds the row to the and presses a button called Notify Teacher. The “Cancel Class” button works similarly.
Controls: For controls, each sequence starts with finding your name from a dropdown. This keeps students and teachers from having to type in their own name and makes it easy to keep all the tables uniform. There are also filter controls for both the students and teachers to use.
Packs: I used the Gmail Pack to send an email to the teachers when their class is booked or canceled. Using a Concatenate() formula, the teacher received an email that looks like this:
Screen Shot 2021-08-22 at 7.39.22 PM.png
Or this:

Screen Shot 2021-08-22 at 7.39.33 PM.png

📽️ The Presentation Layer
Making it easy to use:
I’ve tried to add as many buttons, labels, and links as possible without overcrowding the document. I want people to be able to get to where they need with as few clicks as possible. I also want it to be an enjoyable experience.
Style:
I based the header images on the idea of coffee and conversation. We held an event called Conversation Café in which we paired off for conversation and had coffee (you know, back when people met in person for things). There’s just something lovely about the intimacy of coffee with a friend. And this doc should be as simple as ordering a coffee from Starbucks...you know, only 17 different options! 😉
To keep it lighthearted and fun, I’ve included lots of emoji friends throughout the doc. They just make me smile.
I’ve turned on outline on the pages with the most text to help guide people to what they’re looking for as quickly as possible.

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.