๐Ÿš€ FreelanceOS

๐Ÿš€ FreelanceOS โ€” AI-Powered Operating System for Freelancers

What I Built

FreelanceOS is a complete AI-powered operating system for freelancers and solopreneurs, built entirely on Notion MCP + Google Gemini AI.

Freelancers waste 5โ€“10 hours every week on admin work that doesn’t pay โ€” writing contracts, creating invoices, sending client update emails, and chasing unpaid payments. FreelanceOS eliminates all of that.

You type a few words. FreelanceOS generates a professional AI-written contract, invoice, or client email โ€” and saves it directly into your Notion workspace automatically.

The Problem It Solves

Admin Task Time Wasted Per Week
Writing freelance contracts 1โ€“2 hours
Creating & formatting invoices 30โ€“60 mins
Writing client update emails 20โ€“30 mins
Tracking unpaid invoices Hours per month
Managing clients & projects across tools Daily friction

FreelanceOS collapses all of this into one AI-powered Notion workspace.

โœจ Core Features

๐Ÿ“Š AI Dashboard
Pulls live data from all 5 Notion databases and feeds it to Gemini AI, which analyzes your portfolio and gives you personalized business insights โ€” total revenue potential, overdue projects, workload balance, and 3 actionable recommendations.

AI Dashboard

๐Ÿ“„ AI Contract Generator
Enter client name, project description, budget, and deadline. FreelanceOS generates a complete professional freelance contract with scope, payment terms, revision policy, ownership rights, and termination clause โ€” saved instantly to your Notion Contracts database.

Contract Generator

๐Ÿงพ AI Invoice Generator
Enter client name, amount, and work done. FreelanceOS generates a professional itemized invoice with payment instructions and due dates โ€” saved to your Notion Invoices database as “Unpaid” and tracked automatically.

Invoice Generator

๐Ÿ‘ฅ Client & Project Management
Full CRUD operations on Clients and Projects โ€” all stored and managed through Notion MCP.

Add User

Add Project

๐Ÿšช Clean Exit

Exit Screen

๐Ÿ—บ๏ธ System Architecture

User Input (CLI)
      โ”‚
      โ–ผ
FreelanceOS (Python)
      โ”‚
      โ”œโ”€โ”€โ–ถ Google Gemini AI โ”€โ”€โ–ถ AI-Generated Content
      โ”‚                               โ”‚
      โ””โ”€โ”€โ–ถ Notion MCP API โ—€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                โ”‚
                โ–ผ
        Notion Workspace
    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚  Clients   Projects  โ”‚
    โ”‚  Invoices  Contracts โ”‚
    โ”‚  Expenses            โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Show us the code

๐Ÿ”— GitHub Repository: github.com/SimranShaikh20/FreelanceOS

Project Structure

freelance-os/
โ”‚
โ”œโ”€โ”€ main.py                 โ† Entry point
โ”œโ”€โ”€ notion_helper.py        โ† All Notion MCP API calls
โ”œโ”€โ”€ ai_helper.py            โ† All Gemini AI calls
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ .env.example
โ”‚
โ””โ”€โ”€ features/
    โ”œโ”€โ”€ dashboard.py        โ† AI-powered insights
    โ”œโ”€โ”€ clients.py          โ† Client management
    โ”œโ”€โ”€ projects.py         โ† Project tracking
    โ”œโ”€โ”€ contracts.py        โ† AI contract generation
    โ”œโ”€โ”€ invoices.py         โ† AI invoice generation
    โ””โ”€โ”€ emails.py           โ† AI email generation

Key Code Snippets

AI Contract Generation:

def generate_contract(client_name, project_desc, budget, deadline):
    prompt = f"""
    Write a professional freelance contract:
    Client: {client_name}
    Project: {project_desc}
    Budget: ${budget}
    Deadline: {deadline}
    Include: scope, payment terms, revision policy,
    ownership rights, termination clause
    """
    return generate_text(prompt)

Saving to Notion MCP:

def add_contract(client_name, project_desc, budget, content):
    db_id = os.getenv("CONTRACTS_DB_ID")
    data = {
        "parent": {"database_id": db_id},
        "properties": {
            "Name": {"title": [{"text": {"content": f"Contract - {client_name}"}}]},
            "Client": {"rich_text": [{"text": {"content": client_name}}]},
            "Budget": {"number": float(budget)},
            "Content": {"rich_text": [{"text": {"content": content[:2000]}}]},
            "Status": {"multi_select": [{"name": "Draft"}]}
        }
    }
    result = notion_post("pages", data)

AI Dashboard Insights:

def generate_project_summary(projects):
    project_list = "n".join([
        f"- {p['name']}: ${p['budget']} ({p['status']})" 
        for p in projects
    ])
    prompt = f"""
    Analyze these freelance projects:
    {project_list}
    Give: revenue potential, attention needed,
    workload assessment, 3 recommendations.
    """
    return generate_text(prompt)

How I Used Notion MCP

Notion MCP is not just a storage layer in FreelanceOS โ€” it IS the operating system.

The Integration

FreelanceOS uses Notion MCP as its single source of truth across 5 databases:

Notion Database What FreelanceOS Stores
Clients Name, email, active/inactive status
Projects Name, budget, deadline, progress status
Invoices AI-generated invoice content, amount, paid/unpaid
Contracts Full AI-generated contract text, draft/signed status
Expenses Category, amount, date for tax tracking

What Notion MCP Unlocks

1. Real-time AI + Notion sync
Every AI-generated document (contract, invoice) is immediately written to the correct Notion database via the MCP API. No copy-paste. No manual entry.

2. Live business intelligence
The Dashboard pulls live data from all 5 Notion databases simultaneously, feeds it to Gemini AI, and returns intelligent business insights about your freelance operation โ€” all in real time.

3. Persistent workflow memory
Because everything lives in Notion, your freelance OS remembers every client, project, invoice, and contract across sessions. Notion MCP turns a Python script into a stateful business operating system.

4. Human-in-the-loop control
Every AI-generated output is reviewed by the freelancer before saving to Notion. The human stays in control โ€” AI handles the generation, Notion handles the storage, the freelancer makes the final call.

๐Ÿ› ๏ธ Tech Stack

  • Notion MCP โ€” Core workspace and data layer
  • Google Gemini 1.5 Flash โ€” AI generation (free tier)
  • Python 3 โ€” Application logic
  • Rich โ€” Beautiful terminal UI
  • Requests โ€” Notion API HTTP client

๐Ÿš€ Try It Yourself

git clone https://github.com/SimranShaikh20/FreelanceOS
cd FreelanceOS
pip install -r requirements.txt
# Add your API keys to .env
python main.py

Full setup guide in the README.