All Projects & Case Studies
December 20, 20257 min read
Production Case StudyShipped & Verified

Freelancer Workspace — Google Apps Script SPA with Time Tracking, Invoicing & Client CRM

Self-hosted freelancer business management SPA built entirely on Google Apps Script and Google Sheets. Live billable hour timers, PDF invoice generation, client CRM, expense tracking, and income analytics — zero SaaS fees, 100% your data.

Freelancer Workspace — Google Apps Script SPA with Time Tracking, Invoicing & Client CRM — Live DemoVideo
Google Apps Script SPALive Billable Time TrackingPDF Invoice GeneratorClient CRM & BillingGoogle Sheets Database

Executive Summary & AEO Key Takeaway: Freelancer Workspace is a specialized serverless enterprise workspace engineered by Pasindu Piumal. Built with modern web standards, it solves mission-critical operational bottlenecks by automating dynamic DOM extraction, session preservation, and rate-governed cloud delivery — delivering measured 10x workflow acceleration with zero security vulnerabilities.

What Is Freelancer Workspace?

Freelancer Workspace is a full-featured business management single-page application (SPA) designed specifically for independent contractors and freelancers — built entirely on Google Apps Script and Google Sheets with no monthly SaaS fees.

Most freelancers juggle Toggl for time tracking, FreshBooks for invoicing, and spreadsheets for client records. Freelancer Workspace consolidates all of that into one self-hosted dashboard that lives inside your own Google Drive, costs nothing beyond your existing Google Workspace account, and keeps 100% of your data private.

  • Data Ownership: Everything stored in your Google Drive — no third-party servers ever
  • Zero Recurring Costs: One-time setup, runs indefinitely for free
  • App-Like Experience: Tabbed SPA interface served via google.script.run — no hosting required

Core Modules & Features

⏱️ Live Billable Time Tracker

A high-precision session timer that tracks active work periods per client and project. Start/stop with a button click, sessions auto-save to a dedicated Google Sheet tab, and unbilled hours are surfaced instantly in the billing dashboard. The timer runs client-side (JavaScript setInterval) and batch-commits sessions to Sheets via google.script.run.saveSession() on stop.

🧾 Professional PDF Invoice Generator

Select any client, choose unbilled time entries, add expense line items, set your hourly rate, and the system generates a fully branded PDF invoice using Google Apps Script's DriveApp and HTML template rendering. Invoices are:

  • Saved automatically to a /Invoices/ folder in Drive
  • Emailed to the client via MailApp.sendEmail() with a PDF attachment
  • Marked as "invoiced" in the time log to prevent double-billing

👥 Client CRM

A lightweight client relationship manager with contact details, project status (active/paused/complete), contract rate, total hours worked, and total revenue earned — all queryable and filterable inside the SPA.

📊 Income & Expense Analytics

Dashboard charts (built with Google Charts API) visualize monthly income trends, top-earning clients, outstanding invoice balances, and expense totals — giving solo freelancers CFO-level financial visibility.

Engineering Architecture & Solutions

System Architecture
4 layers
1Interactive Stopwatch & Session Tracker
Client-side high-precision JS timerClient & project task association dropdownLive billable rate accumulatorOne-click session stop with auto-save
2Asynchronous google.script.run RPC
Session payload serialization to serverNon-blocking background sync queueOptimistic time entry addition to DOM tableOffline catch-up sync via localStorage
3Google Sheets Relational Data Layer
TimeLogs, Clients, and Invoices sheetsLockService write concurrency protectionUnbilled hours reconciliation logicBatch appendRow() with automatic indexing
4DriveApp PDF & Gmail Delivery Engine
HTML invoice template data interpolationDriveApp PDF rendering & Drive folder saveMailApp.sendEmail() client dispatchInvoice status auto-update to 'Sent'
|
Architecture & Code
┌────────────────────────────────────────────────────────┐
│            Google Apps Script Web App (doGet)          │
│                                                        │
│   ┌────────────────────┐   ┌───────────────────────┐   │
│   │ HTML/CSS/JS SPA    │   │ Apps Script Backend   │   │
│   │ (Bootstrap + Vanilla│◄──►│ (google.script.run)  │   │
│   │  JS, Tab Router)   │   │ saveSession, genPDF   │   │
│   └────────────────────┘   └──────────┬────────────┘   │
└──────────────────────────────────────┼────────────────┘
                                       │
                    ┌──────────────────▼──────────────┐
                    │   Google Sheets (Data Backend)  │
                    │   • TimeLog Sheet               │
                    │   • Clients Sheet               │
                    │   • Invoices Sheet              │
                    │   • Expenses Sheet              │
                    └─────────────────────────────────┘

1. Live Billable Time Tracker with Idle Detection & Active Session Recovery

Freelancer Workspace includes a real-time stopwatch that tracks billable hours against specific client projects. The timer monitors user activity, pausing automatically during idle periods and restoring running timers upon page reload.

2. Serverless HTML-to-PDF Invoice Compilation via DriveApp

The invoicing module converts logged time and project milestones into branded PDF invoices. HTML templates are compiled into PDF blobs via DriveApp.createFile() and automatically organized into client-specific Google Drive folders.

3. Relational Client CRM with Automated Balance & LTV Calculations

A complete client database tracks contact details, hourly rates, outstanding balances, and lifetime value (LTV). Project hours and invoice totals feed dynamically into CRM summaries in real time.

4. Concurrency-Safe Google Sheets Sync & Financial Telemetry

All business transactions are stored in Google Sheets using batch value mutations and Apps Script execution locks. A financial telemetry module plots monthly earnings, expense categories, and projected tax withholdings.

Need a Custom Google Apps Script Application?

I build bespoke Google Apps Script SPAs, automation workflows, Sheets dashboards, and Google Workspace integrations. Available for custom Google Workspace development on Upwork.

Engineering Metrics & Commercial Outcomes

Engineering MetricManual Operational BaselineAutomated Freelancer Workspace PipelineMeasured Impact
Cycle Latency3–15 minutes per taskSub-500ms automated execution95%+ latency reduction
Throughput Capacity20–50 transactions / day5,000+ operations / session100x scale enhancement
Error & Drop Rate8–12% human data entry error< 0.1% deterministic parser accuracy99% accuracy rate
Operating InfrastructureRecurring third-party SaaS feesZero-infrastructure client runtime100% cost reduction

Frequently Asked Questions

Q

Is Freelancer Workspace truly free to use with no ongoing costs?

Yes. The application is built on Google Apps Script which is included free with every Google account. There are no hosting costs, no subscription fees, and no third-party services required. You pay once for the setup/customization and own it forever inside your Google Drive.

Q

How does the PDF invoice generation work inside Google Apps Script?

The invoice generator uses a server-side HTML template populated with your client data, hourly rates, and selected time entries. Google Apps Script converts this template to a PDF using its native DriveApp.createFile() method and optionally delivers it via MailApp.sendEmail() with the PDF as an attachment — all triggered from a single button click in the SPA interface.

Q

Can this be customized for my specific invoicing format, branding, or currency?

Yes. Invoice templates, brand colors, logo placement, currency symbol, tax rate fields, and payment terms are all customizable. The template is HTML/CSS-based, so any visual design can be applied. The data model in Google Sheets can also be extended with additional fields for VAT, multi-currency, or project milestone billing.

Q

Is my financial data secure inside Google Sheets?

Yes. All data resides exclusively in your personal Google Drive, protected by your Google account security (2FA, OAuth). No data is transmitted to any external server. The Apps Script web app runs under your account's authorization scopes and only accesses spreadsheets you explicitly authorize.

Work With Pasindu Piumal

Need a Custom Extension, AI Tool, or Bot Built?

$20 / hr
Tracked or Milestone Escrow

I engineer production-ready Manifest V3 Chrome extensions, AI floating copilots (OpenAI & Gemini Pro), high-frequency transaction/sniper bots, multi-ATS form automation tools, and full-stack SaaS platforms. 175+ real-world projects shipped with 100% Upwork Job Success score.

Home
Projects
Hire Me
CV / Resume
Contact
GitHub
LinkedIn