Overview
The Premium Freelancer Operating System
Solo Studio is designed as a centralized control center for modern freelancers and agencies. It simplifies client management, task planning, project tracking, professional proposal writing, automated billing, and detailed accounting.
Data is strictly structured to allow seamless linking across modules: a Client owns a Project, which compiles Tasks, triggers Proposals, and issues Invoices. All data points are secure, workspace-isolated, and synced to Supabase instantly.
Quickstart Guide
Setting Up Your Studio in 5 Steps
- Configure Profile: Navigate to Settings → Profile. Set your First Name, Last Name, and Timezone. (The timezone ensures the live clock on the top bar reflects your working hours correctly).
- Establish Studio Defaults: If you are an owner/admin, go to Settings → Studio Defaults. Set your workspace Currency (e.g. USD, EUR, INR), Default Tax Percentage, and target Weekly Working Hours.
- Add a Client: Navigate to the Clients module, click + New Client, and specify the client's Name, Email, and Company.
- Initiate a Project: Open Projects, click + New Project, select your client, set the budget, and set start/end parameters.
- Manage Tasks: Open Tasks, add key deliverables, and associate them with your project. Track task states as you proceed.
Layout & Navigation
Desktop Interface Anatomy
- Left Sidebar: Houses the workspace brand, a switcher dropdown for moving between isolated businesses, and structured navigation menus grouped logically into core pages, tools, and configurations. It also shows a Sign Out button and Version History links.
- Sidebar Collapse Trigger: At the edge of the left navigation panel, you'll find a toggle button. Clicking this collapses the sidebar to maximize screen space for large data views, like spreadsheets or metrics charts.
- Fixed Top Bar: Contains your personalized greeting, a global search box that searches clients/projects/tasks/proposals/invoices in real-time, the Help button (which launches this portal), and a live timezone-adjusted digital clock.
Mobile Responsive Behavior
On tablet and mobile screens, the left sidebar is completely hidden. A dynamic Mobile Navigation Header appears with a collapsible hamburger menu. Clicking "Menu" drops down all navigation options, ensuring full mobile parity.
Client Management
Contact Database & Relationships
The Clients page serves as your core CRM. Here you can add, view, filter, and edit details for each client contact.
Client Field Specifications
| Field Name | Data Type | Required? | Purpose |
|---|---|---|---|
Name |
String | Yes | Full contact or representative name. |
Email |
String (Email format) | No | Destination for invoices and proposals. |
Company |
String | No | Corporate or legal organization name. |
Notes |
Text Block | No | Internal records, billing address, or terms. |
Client Actions & Lifecycle
- Adding: Clicking + Add Client opens a form in a paginated list. On submit, it syncs immediately.
- Editing: Clicking the edit pencil on a client row opens inline form fields. Saving applies changes and replicates modifications to any linked invoices and proposals.
- Deleting: Clicking the garbage bin icon displays a warning dialog: "Delete [Client Name] and related projects, proposals, and invoices?" confirming that cascading deletions are permanent.
Project Management
Defining Scope, Budgets, and Rates
Projects link clients to billing targets and timelines. They are displayed in a paginated list with real-time budget calculations.
Project State Specifications
- Linked Client: Points directly to a client record (essential for invoice generation).
- Status Options: Supported statuses are strictly governed by the schema:
active — Active work in progress.
paused — Temporarily on hold.
completed — Deliverables completed; ready to close. - Budget (Cents): Fixed-fee total budget value stored in currency cents for accuracy.
- Hourly Rate (Cents): Billable hour rate (set to null if the project is strictly fixed-price).
- Date Ranges:
startDateand optionalendDate.
Filtering & Searching Projects
Use search parameters (url query ?q=) and custom dropdown filters on the projects page to isolate projects by Client or Status.
Task Board
Task Board Fields & Schema Validation
Tasks are operational items assigned to specific team members and linked to clients and projects.
| Field | Database Code Options / Requirements | UI Presentation |
|---|---|---|
| Title | String (Required, Non-empty) | Main heading card |
| Status | 'todo' | 'doing' | 'done' |
Status lists with columns |
| Priority | 'low' | 'medium' | 'high' |
Color-tagged badges |
| Assignee | User ID link to active workspace members | Initials/Name selector |
| Due Date | Date String (Optional) | Calendar selection / overdue tags |
Filtering & Assignment Rules
The Tasks Board filters allow sorting by Status, Priority, Assignee, Client, and Project. Tasks automatically move columns when updated. Setting a task to 'done' updates the completedAt timestamp.
Proposals & Won Work
Pitching & Scope Estimates
Proposals act as initial templates before client acquisition. They let you sketch out values and project parameters.
Proposal Stages
Proposals strictly utilize the following stages in code:
draft — Local drafting state. Not yet shown to client.
sent — Delivered to the client; pending feedback.
won — Approved. Ready to be cloned/escalated to active project status.
lost — Rejected or expired.
Main Fields
- Value (Cents): Total estimated budget stored as cents (e.g.
$10,000.00is represented in code as1000000). - Notes: Rich text area outlining terms, deadlines, exclusions, and payment stages.
- Client ID: Points to the target CRM Client entry.
Invoicing & Billing
Billing Engine & Line Items
Invoices compute professional costs, tracking payments, tax percentages, and totals dynamically.
Invoice Structure & Status Workflow
An invoice has a Unique Serial Number, Issue Date, Due Date, Tax Rate Percent, and an array of Line Items (Description, Qty, Unit Price). Statuses are strictly managed:
draft — Editable, unsubmitted draft.
sent — Dispatched; waiting for client payment.
paid — Fully resolved.
overdue — Past its due date without full resolution.
void — Cancelled invoice. Keeps auditing records intact.
Dynamic Formulas & Math Logic
The billing engine executes the following calculations on load:
Subtotal = sum(LineItem.Quantity * LineItem.UnitPrice)
Tax = Subtotal * (TaxRatePercent / 100)
Total = Subtotal + Tax
Balance Due = Total - AmountPaidCents
Supported Payment Gateway Types
When recording a payment, you can select from the following methods:
ACH, Card, Wire, UPI, Cash, Bank Transfer, or Cheque.
Income Ledger
Revenue Tracking & MTD/YTD Analysis
The Income page displays a breakdown of incoming payments. It charts financial summaries across a rolling 6-month window to display historical earnings.
Calculations
- Month-To-Date (MTD) Collected: Calculated as the sum of payments logged within the current calendar month.
- Year-To-Date (YTD) Revenue: Evaluates all payments recorded from Jan 1st to the current date.
- Net Profit Calculations: Dynamically computed as
Revenue - Expenses.
Expense Tracking
Expense Log & Bookkeeping
Expenses track outgoing workspace cash flow, software, contractor payouts, and taxes. They can be linked to projects to compute exact project profitability.
Expense Schema Specifications
- Amount (Cents): Decimal values are stored as cents integers.
- Date: The exact transaction date in
YYYY-MM-DDformat. - Description: Purpose or detail of the expense.
- Linked Entities: Optional links to a Project ID or Client ID.
- Receipt URL: Optional URL string to an uploaded invoice image or receipt file.
Verified Expense Categories
The database supports 43 categories: Client Payments, Team Salaries, Contractor Payments, Software Subscriptions, Hosting & Servers, Domain Renewals, Cloud Services, Office Rent, Coworking Space, Internet & Utilities, Marketing & Ads, Lead Generation, Sales Tools, CRM Expenses, Design Tools, AI Tools, Development Tools, API Costs, Travel & Meetings, Client Entertainment, Equipment & Hardware, Laptop & Accessories, Training & Courses, Legal & Compliance, Accounting & Taxes, Bank Charges, Payment Gateway Fees, Freelancer Payouts, Recruitment, Content Creation, Social Media Management, Branding, Video Production, and Miscellaneous Business Expenses.
Multi-Workspaces
Absolute Data Isolation
Workspaces keep client data, finances, templates, and team settings completely separate. Changing workspaces updates the active ID inside WorkspaceContext.
Workspace Member Roles
Permissions are strictly defined by role:
- Owner: Full read/write access. Can manage billing, workspace metadata, delete active workspaces, and approve members.
- Admin: Full read/write access. Can send invitations, modify studio defaults, and assign roles.
- Member: Regular read/write access to clients, projects, tasks, invoices, and accounting. Cannot edit settings.
- Viewer: Strictly read-only. Banners state: "You have view-only access in this workspace." All mutation controls are disabled.
Settings Panel
Control Panel Operations
The Settings page adapts to display tabs according to the user's role.
Configurations Tab Overview
- Profile: Updates First Name, Last Name, and timezone string. Shows current build version of the app at the bottom.
- Workspace Members Admin/Owner only: Sends email-based invites to new members, setting their initial role. It also lists pending invites, allowing them to be revoked.
- Studio Defaults Admin/Owner only: Updates the organization's legal name, tax percentage rates, default currencies, and target weekly hours.
- Danger Zone Owner only: Allows permanent deletion of the active workspace. Requires typing the word
"delete"to confirm.
Bulk CSV Import
Data Migration Templates
Admins can import tables of clients, projects, or tasks via CSV files. The importer runs checks to map headers and detect duplicate records.
CSV Column Specs
| Import Object | Required Columns | Optional Columns |
|---|---|---|
| Clients | name |
email, company, notes |
| Projects | client_name, name |
status, budget, hourly_rate, start_date, end_date |
| Tasks | title |
project_name, status, priority, due_date |
Import Logic
Templates can be downloaded from the Settings page. Duplicates are identified by email (for clients) or name (for projects). Users can choose to skip duplicates or overwrite them.
Network & Offline Limits
Cloud Connectivity Specifications
Solo Studio is a cloud-first application. It requires a continuous, stable internet connection to communicate with Supabase.
Offline Handling Protocol
-
Connection Verification: The client listens to the browser's
"offline"and"online"events. - Offline Overlay Activation: If connection drops, a full-screen blocking overlay is displayed, preventing all navigation and input to avoid creating unsaved state.
- Auto Recovery: Once internet connectivity is restored, the overlay is removed automatically.
Security & RLS
Data Protection & Workspace Isolation
Your business metrics, client lists, and accounting records are highly sensitive. Solo Studio employs strict security protocols to keep your data safe.
Security Features
- Encrypted Transport: TLS/HTTPS is enforced for all traffic between your browser and the Supabase API.
- Row Level Security (RLS): The database uses RLS policies. User authentication tokens are checked on every query to ensure they only return rows matching the active workspace.
- Invite Token Validation: Workspace invitation tokens are hashed and validated on the server. They can only be claimed once, and the claimant's email must match the invite.
Troubleshooting
Resolving Interface Messages
"Could not load data" / Spinner Sticking
If the loading spinner remains visible or throws load errors, check the following:
- Check if your Supabase project is active or paused due to inactivity.
- Verify that all database migrations have been successfully run.
- Confirm that the client browser is not blocking API requests with ad-blockers or firewall rules.
"View-only access in this workspace"
This indicates that your role has been set to Viewer. You will be unable to add, edit, or delete items. Contact your workspace owner to request permission upgrades.
State Jumps Back / Red Save Banners
If your input fields revert to their previous values and a red banner appears at the top of the page, the server sync has failed. This is usually caused by network dropouts or schema validation errors. Dismiss the banner and retry.
Earnings Planner Tool
Use this interactive tool to estimate your target earnings, tax liability, and net profit based on your weekly billing hours and rates.
Frequently Asked Questions
todo (To Do), doing (Doing), and done (Done). Keyboard actions are disabled on the task board; all tasks must be dragged or edited via the UI form.
owner, admin, member, and viewer. Viewers have read-only access. Only workspace owners and admins can invite users, edit Defaults, or delete the workspace.
Submit Support Ticket
Submit an query to the Solo Studio support desk. If you need direct assistance, you can also email [email protected].