Clients asking "how's my project going" usually forces someone to stop what they're doing, count up finished tasks, count up the total, do the division, and type up a status update — just to answer a question that should be visible at a glance. Do that every week for every client, and it becomes its own small project on top of the actual work.
In this tutorial, we'll build a Client Project Progress Portal — a Project table where completion percentage calculates itself from linked tasks, shared with each client as a live, view-only window into their own project. No status update emails required.
Here's what we're working with — a Project table holding the client and project name, linked to a Task table through a One-to-Many relationship, with a Task Name and a Completed checkbox on each task.
![[]]
Add a project, then break it down into several tasks, marking a few as already completed.
Project table populated with a website redesign project for client Marina Cole
Task table showing multiple tasks linked to the project with some marked as completed
For this walkthrough, assume the Marina Cole — Website Redesign project has the following tasks:
Right now, this table shows five tasks in a list. Nothing here tells you, or Marina, what percentage of the project is actually done.
Since a plain column can't be converted into Custom Logic after the fact, go to the Project table and create a brand new column, setting its type to Custom Logic from the start.
Adding a new Custom Logic column on the Project table for Progress Percentage
Describe what you want — calculate the percentage of linked tasks where Completed is checked, out of the total number of linked tasks.
Describing the logic to calculate percentage of completed tasks out of total linked tasks
Confirm the clarification screen, checking that it correctly understood you want completed tasks divided by all linked tasks, not just a fixed number.
Clarification screen confirming the percentage calculation divides completed tasks by total linked tasks
Save it, and the project's progress fills in instantly:
Project table showing Progress Percentage automatically calculated at 60 percent
Let's prove that live. Mark Mobile Responsive Testing as completed.
Marking Mobile Responsive Testing task as Completed
The moment it's saved, the project's progress updates on its own, without touching the Project table at all.
Marina Cole — Website Redesign changes from 60% → 80%.
Project progress percentage updated to 80 percent after a task was marked completed
Now add a brand new task to the same project — Client Feedback Round — left unchecked.
Adding a new task called Client Feedback Round to the project, left uncompleted
Progress recalculates again, this time dropping slightly because the total task count grew.
Marina Cole — Website Redesign changes from 80% → 67%.
Project progress percentage adjusted to 67 percent after a new incomplete task was added
Progress that only your team can see doesn't remove the "how's it going" emails — it just moves the bottleneck. Create a new view on the Project table, filtered to just Marina Cole's project, and share it with her directly with view-only access.
Sharing a filtered project view with client Marina Cole set to view-only access
Marina now has a link she can open any time, showing her project's live Progress Percentage — no login setup, no separate spreadsheet copy, and no ability to accidentally edit anything.
Client-facing view showing only Marina Cole's project with its live progress percentage
This same aggregation-plus-sharing pattern extends well beyond client projects — course completion percentages for students, application progress for job candidates, or renovation status for homeowners can all be built the same way.
Try the Live Preview
On this page
Related articles
Explore more product articles and best practices for teams building with Ambisius.
Still Using Spreadsheets?
You Should Try This.
Turn familiar spreadsheets into a structured system built for your business
No commitment. No credit card required.

© 2026 Ambisius. All rights reserved.