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






Top comments (0)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.