Remote Work Tools

Notion Setup for Solo Freelancer Managing 5 Clients: A Practical Guide

Managing multiple clients as a solo freelancer requires structure. Without a proper system, you juggle deadlines in your head, lose track of conversations, and miss billable hours. Notion provides a flexible foundation for building a client management system that scales with your workload. This guide walks through a practical setup designed specifically for developers and power users handling around 5 concurrent clients.

The core principle is simple: separate client data from project data, link them together, and create views that show you what needs attention now.

Database Architecture

A well-designed Notion setup relies on three interconnected databases: Clients, Projects, and Tasks. Each serves a distinct purpose and connects through relations.

Clients Database

Create a database called “Clients” with these properties:

This database holds everything about the client relationship itself, not the day-to-day work.

Projects Database

Each client typically has multiple projects. Create a “Projects” database with:

The formula for hours logged uses a rollup that sums hours from related tasks.

Tasks Database

Your granular work items live here:

This structure lets you track time at the task level and roll it up for invoicing.

Views That Actually Help

Databases are useless without views that surface the right information. Build views based on when you need the data.

The Daily Review View

Create a filtered view of Tasks showing items due within the next 3 days or marked urgent. Sort by priority, then by due date. This becomes your daily checklist. Open Notion each morning and you see exactly what needs attention.

Filter: Due Date is within next 3 days
   OR Priority is Urgent
Sort: Priority (descending), Due Date (ascending)

The Weekly Billing View

Filter Tasks by Status = Done, Billable = checked, and a date range matching your billing period. Group by Project to see hours per client. Export this to calculate invoices.

The Client Overview Dashboard

Create a separate page that uses a linked view of Clients. For each client, show their active projects and upcoming deadlines. This gives you a 30-second status check for every client.

Templates for Consistency

Templates reduce repeated setup work. Create template pages for common project types.

New Client Setup Template

When starting work with a new client, create a page from this template containing:

Weekly Status Update Template

For recurring clients, maintain a weekly update template:

Copy this template every Monday and fill it in. Share the page link with clients who want regular updates.

Advanced: API Integration for Developers

If you want to push data into Notion programmatically, the Notion API opens powerful possibilities. Connect your time tracking or git commits to Notion automatically.

Logging Time from the Command Line

Create a simple bash function to log time directly:

#!/bin/bash
# Usage: log-time "Task name" 2.5

TASK_NAME="$1"
HOURS="$2"
DATE=$(date +%Y-%m-%d)

notionapi task log "$TASK_NAME" --hours "$HOURS" --date "$DATE"

This requires the Notion API client, but the principle is sound: log time where you work, not in a separate app.

Syncing Git Commits to Notion

Use GitHub Actions to create task entries from commit messages:

name: Log to Notion
on:
  push:
    branches: [main]

jobs:
  log-commits:
    runs-on: ubuntu-latest
    steps:
      - name: Create Notion task from commit
        run: |
          curl -X POST 'https://api.notion.com/v1/pages' \
            -H 'Authorization: Bearer ${{ secrets.NOTION_TOKEN }}' \
            -H 'Content-Type: application/json' \
            -d '{
              "parent": { "database_id": "${{ secrets.NOTION_TASK_DB }}" },
              "properties": {
                "Name": { "title": [{ "text": { "content": "${{ github.commit_message }}" }}] },
                "Status": { "select": { "name": "Done" } }
              }
            }'

This approach works for tracking completed work, though you may want to filter for meaningful commit messages to avoid cluttering your task database.

Maintenance and Evolution

Your Notion system requires periodic maintenance. Schedule monthly reviews:

The system should serve your workflow, not constrain it. If a view feels unnecessary, delete it. If you need a new property, add it.

Start with the three-database structure, add your five clients, and build views as you need them. This foundation scales beyond five clients when your business grows.

Built by theluckystrike — More at zovo.one