DEV Community

Cover image for I built a complete freelance business dashboard in Notion — 7 interconnected databases with rollups and formulas
Yao Long
Yao Long

Posted on

I built a complete freelance business dashboard in Notion — 7 interconnected databases with rollups and formulas

As a solo developer doing freelance work on the side, I was constantly juggling tools: clients in a spreadsheet, projects in Trello, time tracking in a separate app, invoices in Word docs, and goals... somewhere in my head.

So I built everything into a single Notion workspace. Not just standalone databases — I wanted them to actually talk to each other.

What I built: Freelance OS

7 interconnected databases, each with relation, rollup, and formula properties:

1. Clients

  • Track status (Lead / Active / Completed / Archived), type, source
  • Total Revenue auto-calculated via rollup from Projects → Budget
  • Reverse relations from Projects and Finance

2. Projects

  • Linked to Clients (bidirectional relation)
  • Priority, status, budget, estimated hours, progress
  • Actual Hours auto-calculated via rollup from Time Entries → Duration

3. Finance

  • Income and expenses linked to specific projects AND clients
  • Type (Income/Expense), category, currency, payment method, status

4. Time Entries

  • Linked to Projects (bidirectional)
  • Billable checkbox toggle
  • Auto-calculates amount: if(prop("Billable"), prop("Duration (hrs)") * prop("Rate"), 0)
  • Rolls up into project's Actual Hours

5. Invoices

  • Issue date, due date, payment status, paid date
  • Linked to both Clients and Projects

6. Goals

  • Quarterly targets with deadline and status
  • Progress auto-calculated: round(prop("Current") / prop("Target") * 100) / 100

7. Tasks

  • Linked to Projects (bidirectional)
  • Client auto-pulled via rollup from Project → Client
  • Priority, tags, due date, estimated time

The relation map

Clients ←──→ Projects ←──→ Tasks
   ↑              ↑
   │              ↓
   │         Time Entries
   ↓              ↓
Finance ←──→ Invoices
Enter fullscreen mode Exit fullscreen mode

Every entry you make ripples across the workspace. Log a time entry → the project's actual hours update → the client page shows the updated project. Record a payment → it's linked to both the project and the client. Add a task → the client name auto-fills from the project relation.

Why Notion instead of separate SaaS tools?

  • No monthly subscriptions — Notion is free for personal use
  • 100% customizable — every property, view, and formula is yours to change
  • Single source of truth — no more copy-pasting between 5 apps
  • Your data stays yours — export anytime

Who it's for

Freelancers, solo founders, consultants, designers, developers, writers — anyone running a one-person business who wants to stop juggling tools.

Pricing

$49 one-time. Not a subscription. You duplicate it into your own Notion workspace and it's yours forever.

After purchase, you'll receive a private link to duplicate the entire template.

Preview the template here: https://app.notion.com/p/Freelance-OS-The-Complete-Solo-Business-Dashboard-3c93b3af224f80f6a593de20161be8b4

Get it here: https://www.creem.io/payment/prod_6rmvfybzKiSLHRk3Yq2GZL

Happy to answer any questions about the setup, formulas, or how I structured the relations!

Top comments (0)