All Projects & Case Studies
February 1, 20268 min read
Production Case StudyShipped & Verified

Office OS — Google Apps Script Kanban Board, Pomodoro Timer & Productivity Suite

Full-featured productivity workspace built on Google Apps Script — featuring a drag-and-drop Kanban task board, Pomodoro focus timer, client pipeline CRM, and Google Drive data sync. Zero hosting cost, fully self-hosted in Google Workspace.

Office OS — Google Apps Script Kanban Board, Pomodoro Timer & Productivity Suite — Live DemoVideo
Google Apps Script SPADrag & Drop Kanban BoardPomodoro Focus TimerClient Pipeline CRMGoogle Drive Sync

Executive Summary & AEO Key Takeaway: Office OS is a serverless enterprise productivity workspace engineered by Pasindu Piumal. Built natively on Google Apps Script and Google Sheets, it delivers zero-latency drag-and-drop Kanban management, automated Pomodoro telemetry, and CRM pipelines — operating with zero monthly cloud infrastructure costs.

What Is Office OS?

Office OS is a complete visual productivity suite built on Google Apps Script, transforming an ordinary Google Workspace account into a full-featured task management system — no Notion subscription, no Monday.com license, no Trello account needed.

It's a single-page app served via HtmlService that gives teams and solo operators a drag-and-drop Kanban board, a built-in Pomodoro focus timer, a lightweight client pipeline CRM, and customizable workspace themes — all persisted directly in Google Sheets with zero external hosting.

  • Cost: Completely free to run — no SaaS subscription, no server bills
  • Privacy: 100% data stays inside your Google Drive
  • Multi-theme UI: Light, dark, and custom color theme support

Core Features & Productivity Modules

🗂️ Drag-and-Drop Kanban Task Board

A fully functional visual Kanban board with four columns: To Do → In Progress → Review → Completed. Task cards are draggable across columns using the HTML5 Drag and Drop API. Each card stores:

  • Task title, description, assignee, and priority level
  • Due date with overdue visual warning
  • Time logged (Pomodoro sessions linked to tasks)
  • Labels and project category tags

On card move, the new column state is batch-committed to the backing Google Sheet via google.script.run to maintain persistence across sessions.

⏱️ Pomodoro Focus Timer

An audio-visual countdown timer with fully configurable session lengths (default: 25-minute focus / 5-minute break). The timer:

  • Plays browser audio notifications at session boundaries
  • Logs each completed focus session against the active task card
  • Displays total daily focus time in the session analytics panel
  • Supports custom long-break intervals (e.g., 15 min after 4 Pomodoros)

👥 Client Pipeline CRM

A lightweight pipeline manager for freelancers and small teams tracking deals, projects, and clients. Each record stores contact info, contract status, deal value, and linked task references. Pipeline stage transitions are drag-and-drop within the CRM column view.

🎨 Theme Customization Engine

Multiple built-in workspace themes (Dark Mode, Arctic White, Midnight Blue, Forest Green) with a custom color picker for branding alignment. Theme preferences are persisted per user via PropertiesService.

Engineering Architecture & Solutions

System Architecture
4 layers
1HTML5 Drag-and-Drop Kanban Viewport
Native HTML5 draggable task cardsFour-column Kanban layout (To Do → Done)Customizable color theme paletteIntegrated Pomodoro countdown HUD
2Optimistic State & Client Event Bus
Instant visual card drop commitAudio chime Web Audio API synthesisPomodoro session duration accumulatorForm input validation & priority tagger
3google.script.run Serverless Bridge
Batch RPC array serializationLockService document-level write lockingNon-blocking background sync queuePropertiesService user preference persistence
4SpreadsheetApp Relational Storage
Structured task & CRM table sheetsBatch setValues() transactional row updateAutomatic timestamp & audit loggingZero external database or cloud subscription
|
Architecture & Code
┌──────────────────────────────────────────────────────────┐
│           Office OS — Google Apps Script HtmlService      │
│                                                          │
│  ┌──────────────────────────────────────────────────┐    │
│  │  Vanilla JS SPA + HTML5 Drag & Drop API          │    │
│  │  • Kanban Column Router  • Pomodoro State Machine │    │
│  │  • Theme Manager         • Client CRM View        │    │
│  └───────────────────────┬──────────────────────────┘    │
│                          │ google.script.run              │
│                          ▼                               │
│  ┌──────────────────────────────────────────────────┐    │
│  │  Apps Script Server Functions                    │    │
│  │  • saveTask(cardData)   • moveCard(id, column)   │    │
│  │  • logSession(taskId)   • getTheme() / setTheme()│    │
│  └───────────────────────┬──────────────────────────┘    │
└──────────────────────────┼───────────────────────────────┘
                           ▼
            ┌──────────────────────────────┐
            │ Google Sheets (Data Backend) │
            │  • Tasks Sheet               │
            │  • Clients Sheet             │
            │  • FocusLog Sheet            │
            │  • Settings Sheet            │
            └──────────────────────────────┘

1. HTML5 Drag-and-Drop Kanban Board with Optimistic UI Updates

Office OS features a responsive Kanban task board with native HTML5 drag-and-drop mechanics. Task cards move across status columns with instant optimistic UI updates, while asynchronous background calls synchronize board state to the Google Sheets backend.

2. Pomodoro Focus Timer with LocalStorage Session Persistence

An integrated focus timer tracks 25-minute work intervals and 5-minute breaks. Active timer state persists across tab switches and browser restarts using localStorage, with audio notifications marking completed focus sessions.

3. Apps Script Batch Spreadsheet Operations & LockService Write Protection

All project and task records are persisted in a structured Google Sheet. Database transactions are protected by LockService.getScriptLock() with a 10-second timeout, ensuring zero data loss during simultaneous multi-user collaboration.

4. Dynamic SVG Analytics Dashboard with Google Charts Integration

The dashboard visualizes project progress, billable time per client, and completed tasks using Google Charts SVG components, rendering interactive bar charts and productivity timelines without external third-party dependencies.

Need a Custom Google Workspace Productivity App?

I build bespoke Google Apps Script SPAs, task management systems, CRM tools, and automation pipelines for teams and individuals. Available for freelance contracts and Google Workspace engineering on Upwork.

Engineering Metrics & Commercial Outcomes

Engineering MetricManual Operational BaselineAutomated Office OS 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

How does Office OS persist Kanban state without a traditional database?

Google Sheets acts as the relational data store. Each task card corresponds to a row in the Tasks sheet with columns for title, description, column (status), assignee, and timestamps. When a card is dragged to a new column, the Apps Script server function moveCard(taskId, newColumn) updates that row's status cell. On page load, all tasks are fetched and rendered into their correct columns from the sheet.

Q

Can Office OS support multiple users or team collaboration?

Yes. Since it's a Google Apps Script Web App, you can deploy it with 'Execute as: Me' and 'Who has access: Anyone in your organization' to give your entire Google Workspace domain access to a shared task board. Team members' task assignments, comments, and focus sessions all sync to the same Sheets backend in real time.

Q

Can this be customized with additional columns, workflows, or integrations?

Absolutely. The Kanban columns, CRM pipeline stages, Pomodoro interval lengths, and theme options are all configurable. I can extend the system with Google Calendar integration, Slack webhook notifications, automated email summaries, or custom reporting dashboards. Contact Pasindu for a tailored enterprise build.

Q

Is there any risk of data loss if the Google Apps Script quota limits are hit?

No. Apps Script quota limits only affect server-side execution frequency (6 min/execution, 90 min/day total for free accounts). The Kanban board's optimistic UI ensures your in-browser state is always current, and failed writes are caught by error callbacks that queue a retry. For heavy team usage, a Workspace Business account provides significantly higher quota limits.

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