๐ 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 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.

๐งพ 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.

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


๐ช Clean Exit

๐บ๏ธ 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.
